7 Nokia Corporation - initial contribution. |
7 Nokia Corporation - initial contribution. |
8 Contributors: |
8 Contributors: |
9 --> |
9 --> |
10 <!DOCTYPE concept |
10 <!DOCTYPE concept |
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
12 <concept id="GUID-E189B0C0-AAB5-5472-996B-91043DE0B6D4" xml:lang="en"><title>Package |
12 <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 |
13 Buffers Overview</title><shortdesc>Allows any value type (a T class) to be encapsulated as a descriptor, |
13 a descriptor, for the purpose of inter-thread data transfer.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
14 for the purpose of inter-thread data transfer.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
14 <section id="GUID-D6ADB133-EB0D-41C5-B513-152ED052BA9F"><title>Architectural |
15 <section id="GUID-D6ADB133-EB0D-41C5-B513-152ED052BA9F"><title>Architectural relationships</title> <p>The Client/Server API |
15 relationships</title> <p>The Client/Server API expects data that is |
16 expects data that is to be passed between threads to be encapsulated in a |
16 to be passed between threads to be encapsulated in a descriptor. Package |
17 descriptor. Package buffers provide a generic way for the thread providing |
17 buffers provide a generic way for the thread providing the data to |
18 the data to do this. The thread receiving the data extracts the original data |
18 do this. The thread receiving the data extracts the original data |
19 from the package.</p> <p>APIs with client/server architectures, such as telephony |
19 from the package.</p> <p>APIs with client/server architectures, such |
20 and Messaging, define specialised package buffer types that encapsulate the |
20 as telephony and Messaging, define specialised package buffer types |
21 particular data types that they require to pass between threads.</p> </section> |
21 that encapsulate the particular data types that they require to pass |
22 <section id="GUID-545604B3-1A3A-4236-AB40-F15E19D40487"><title>Description</title> <p>The API has two key concepts: package |
22 between threads.</p> </section> |
23 buffer descriptor, and package pointer descriptor. </p> </section> |
23 <section id="GUID-545604B3-1A3A-4236-AB40-F15E19D40487"><title>Description</title> <p>The API has two key concepts: package buffer descriptor, and |
24 <section id="GUID-5B34C59B-3D61-48E9-9939-0259E1EC9A64"><title>Package buffer descriptor</title> <p>The package buffer descriptor |
24 package pointer descriptor. </p> </section> |
25 creates a new instance of the type to encapsulate and stores it within the |
25 <section id="GUID-5B34C59B-3D61-48E9-9939-0259E1EC9A64"><title>Package |
26 descriptor. The interface allows a reference to the encapsulated object to |
26 buffer descriptor</title> <p>The package buffer descriptor creates |
27 be obtained, so that it can be accessed and modified.</p> <p>The package buffer |
27 a new instance of the type to encapsulate and stores it within the |
28 descriptor interface is provided by <xref href="GUID-C7A094BD-846F-3ED2-8CCE-C0743DB3712A.dita"><apiname>TPckgBuf</apiname></xref>.</p></section> |
28 descriptor. The interface allows a reference to the encapsulated object |
29 <section id="GUID-B12499C9-B385-43CF-8342-06B34150BE67"><title>Package pointer descriptor</title> <p>The package pointer |
29 to be obtained, so that it can be accessed and modified.</p> <p>The |
30 descriptor refers to an already existing object. It is otherwise used in a |
30 package buffer descriptor interface is provided by <xref href="GUID-C7A094BD-846F-3ED2-8CCE-C0743DB3712A.dita"><apiname>TPckgBuf</apiname></xref>.</p></section> |
31 similar way to the package buffer descriptor.</p> <p>The package pointer descriptor |
31 <section id="GUID-B12499C9-B385-43CF-8342-06B34150BE67"><title>Package |
32 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 |
32 pointer descriptor</title> <p>The package pointer descriptor refers |
33 non-const objects. </p> </section> |
33 to an already existing object. It is otherwise used in a similar way |
|
34 to the package buffer descriptor.</p> <p>The package pointer descriptor |
|
35 interface is provided by <xref href="GUID-36B29964-420D-38D0-AF08-4DA70BED8B6E.dita"><apiname>TPckgC</apiname></xref> for const objects, |
|
36 and <xref href="GUID-4DFB8E64-81FF-3D3B-9694-CE51B11DA69A.dita"><apiname>TPckg</apiname></xref> for non-const objects. </p> </section> |
34 </conbody><related-links> |
37 </conbody><related-links> |
35 <link> |
38 <link href="GUID-11EEFB3D-0414-5BEB-9D78-56A4B9154008.dita"><linktext>Using |
36 <desc><xref href="GUID-D0D27AEA-FDDB-5F6F-94F6-ADDF5910DC47.dita">Client/Server |
39 Descriptors</linktext></link> |
37 Overview</xref></desc> |
40 <link href="GUID-D0D27AEA-FDDB-5F6F-94F6-ADDF5910DC47.dita"><linktext>Client/Server |
38 </link> |
41 Overview</linktext></link> |
39 <link href="GUID-11EEFB3D-0414-5BEB-9D78-56A4B9154008.dita"><linktext>Using Descriptors</linktext> |
|
40 </link> |
|
41 </related-links></concept> |
42 </related-links></concept> |