|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-C85B4EA2-0184-52AF-B097-152E4A023CEF" xml:lang="en"><title>Abstract |
|
13 base descriptor classes</title><shortdesc>Describes the modifiable descriptor class and the non-modifiable |
|
14 descriptor class.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
15 <p>The concrete descriptor classes are all derived from a set of base classes. |
|
16 The base classes are abstract and implement nearly most of the behaviour of |
|
17 descriptors. They are:</p> |
|
18 <ul> |
|
19 <li id="GUID-0942F246-8BB5-50DB-8314-AA4B1DD1B8C0"><p>The abstract non-modifiable |
|
20 descriptor</p> </li> |
|
21 <li id="GUID-1750CF5B-E6F3-57E5-A107-B17DA0481E22"><p>The abstract modifiable |
|
22 descriptor</p> </li> |
|
23 </ul> |
|
24 <section id="GUID-136970EE-DFB5-469F-9597-1105AA05947E"><title>The abstract non-modifiable descriptor class</title> <p>The |
|
25 class has a data member containing the length of the data represented by the |
|
26 serived concrete descriptor. It also provides the set of functions through |
|
27 which data can be accessed but not modified.</p> <p>This class is supplied |
|
28 in two variants:</p> <ul> |
|
29 <li id="GUID-669B11F1-84DA-5064-88B8-5D3F603114F6"><p>the 16 bit variant, |
|
30 a <codeph>TDesC16</codeph>, to handle Unicode strings.</p> </li> |
|
31 <li id="GUID-A9F1113E-0736-570D-BF57-B060817549C8"><p>the 8 bit variant, a <codeph>TDesC8</codeph>, |
|
32 to handle non-Unicode strings and binary data.</p> </li> |
|
33 </ul> <p>There is also a build independent type, <codeph>TDesC</codeph>. This |
|
34 is the type which is most commonly used in program code; the appropriate variant |
|
35 is selected at build time.</p> <p>An explicit 8 bit variant is chosen when |
|
36 handling binary data. The explicit 16 bit variant is rarely used.</p> </section> |
|
37 <section id="GUID-DA165923-2587-4F77-AEAF-FA012B7EAC24"><title>The abstract modifiable descriptor class</title> <p>The class |
|
38 has a data member containing the maximum length of data that the descriptor |
|
39 is capable of representing. It also provides the set of functions through |
|
40 which data can be modified.</p> <p>This class is supplied in two variants:</p> <ul> |
|
41 <li id="GUID-3F876EFE-1E91-5834-914A-45478D70B0A7"><p>the 16 bit variant, |
|
42 a <codeph>TDes16</codeph>, to handle Unicode strings.</p> </li> |
|
43 <li id="GUID-1F1F3894-3CD0-5DEB-AA75-8259CC86BF58"><p>the 8 bit variant, a <codeph>TDes8</codeph>, |
|
44 to handle non-Unicode strings and binary data.</p> </li> |
|
45 </ul> <p>There is also a build independent type, <codeph>TDes</codeph>. This |
|
46 is the type which is most commonly used in program code; the appropriate variant |
|
47 is selected at build time.</p> <p>An explicit 8 bit variant is chosen when |
|
48 handling binary data. The explicit 16 bit variant is rarely used.</p> </section> |
|
49 </conbody></concept> |