Symbian3/SDK/Source/GUID-D9EA2B10-B789-5CC1-9BD0-23B4FA7E0821.dita
changeset 0 89d6a7a84779
equal deleted inserted replaced
-1:000000000000 0:89d6a7a84779
       
     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-D9EA2B10-B789-5CC1-9BD0-23B4FA7E0821" xml:lang="en"><title>Properties</title><shortdesc>This topic explains the properties of publish and subscribe.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    13 <p>A property has the two attributes: identity and type.</p>
       
    14 <section id="GUID-A5CBB14F-D37F-41C5-8D00-37C3D07708F6"><title>Identity</title> <p>A property is identified by a 64-bit integer
       
    15 made up of two 32-bit parts: the category and the key.</p> <p>A property belongs
       
    16 to a category, and a category is identified by a UID.</p> <p>A key is a 32-bit
       
    17 value that identifies a specific property within a category. The meaning applied
       
    18 to the key depends on the kind of enumeration scheme set up for the category.
       
    19 At its simplest, a key can be an index value. It can also be another UID,
       
    20 if the category is designed to be generally extensible.</p> </section>
       
    21 <section id="GUID-0351DF1A-8DEE-49D6-AD7D-6575E9DF5B56"><title>Type</title> <p>A property can be:</p> <ul>
       
    22 <li id="GUID-7C7CE552-0608-502F-8A2D-87071C4157AE"><p>a single 32-bit value</p> </li>
       
    23 <li id="GUID-E96FE3B3-C66F-5CE9-9C0F-A04BBB20C7BE"><p>a contiguous set of
       
    24 bytes, referred to as a byte-array, whose length can vary from 0 to 512 bytes</p> </li>
       
    25 <li id="GUID-4F8B6257-4410-5F40-A211-B14239CEC64F"><p>Unicode text.</p> </li>
       
    26 </ul> <p>From the viewpoint of the implementation, Unicode text is treated
       
    27 as a byte-array; the detail is hidden by the API.</p> <p>Once defined, a property
       
    28 value can change, but the property type cannot. Byte-array type properties
       
    29 can also change length provided the length does not exceed the value <xref href="GUID-C4776034-D190-3FC4-AF45-C7F195093AC3.dita#GUID-C4776034-D190-3FC4-AF45-C7F195093AC3/GUID-57E64054-610A-31D1-AD7F-E2F9F9FC1DCB"><apiname>RProperty::KMaxPropertySize</apiname></xref>.
       
    30 The   limit on size of property ensures some limit on RAM usage.</p><p>  
       
    31     limit on size of property ensures some limit on RAM usage.</p><p>The API
       
    32 allows byte-array and Unicode text type properties to be  pre-allocated when
       
    33 they are defined. This means that the time taken to set the   values is bounded.
       
    34 However, if the length of these property types subsequently increases, then
       
    35 memory allocation may take place, and no guarantees can be made  on the time
       
    36 taken to set them.</p><p>Note that the<xref href="GUID-C4776034-D190-3FC4-AF45-C7F195093AC3.dita#GUID-C4776034-D190-3FC4-AF45-C7F195093AC3/GUID-F8DE443B-B208-353C-A98E-AA52C4FE6530"><apiname>RProperty::ELargeByteArray</apiname></xref> property
       
    37 type can never provide a real-time guarantee.</p><p>Properties and their values
       
    38 are defined, set and retrieved using  <xref href="GUID-C4776034-D190-3FC4-AF45-C7F195093AC3.dita"><apiname>RProperty</apiname></xref> .  </p></section>
       
    39 </conbody></concept>