This file is indexed.

/usr/share/qt5/doc/qtcontacts/qcontactdetail.html is in qtpim5-doc-html 5.0~git20140515~29475884-0ubuntu24~7.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- qcontactdetail.cpp -->
  <title>QContactDetail Class | Qt 5.0</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td >Qt 5.0</td><td >QContactDetail</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right">Qt 5.0.0 Reference Documentation</td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#public-types">Public Types</a></li>
<li class="level1"><a href="#public-functions">Public Functions</a></li>
<li class="level1"><a href="#macros">Macros</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">QContactDetail Class</h1>
<!-- $$$QContactDetail-brief -->
<p>The <a href="qcontactdetail.html">QContactDetail</a> class represents a single, complete detail about a contact. <a href="#details">More...</a></p>
<!-- @@@QContactDetail -->
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign">   <span class="preprocessor">#include &lt;QContactDetail&gt;</span>
</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Inherited By:</td><td class="memItemRight bottomAlign"> <p><a href="qcontactaddress.html">QContactAddress</a>, <a href="qcontactdisplaylabel.html">QContactDisplayLabel</a>, <a href="qcontactemailaddress.html">QContactEmailAddress</a>, <a href="qcontactfavorite.html">QContactFavorite</a>, <a href="qcontactglobalpresence.html">QContactGlobalPresence</a>, <a href="qcontactname.html">QContactName</a>, <a href="qcontactphonenumber.html">QContactPhoneNumber</a>, and <a href="qcontacttag.html">QContactTag</a></p>
</td></tr></table></div><ul>
<li><a href="qcontactdetail-members.html">List of all members, including inherited members</a></li>
</ul>
<a name="public-types"></a>
<h2 id="public-types">Public Types</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#AccessConstraint-enum">AccessConstraint</a></b> { NoConstraint, ReadOnly, Irremovable }</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> flags </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#AccessConstraint-enum">AccessConstraints</a></b></td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#DetailContext-enum">DetailContext</a></b> { ContextHome, ContextWork, ContextOther }</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#DetailField-enum">DetailField</a></b> { FieldContext, FieldDetailUri, FieldLinkedDetailUris }</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#DetailType-enum">DetailType</a></b> { TypeUndefined, TypeAddress, TypeAnniversary, TypeAvatar, ..., TypeVersion }</td></tr>
</table></div>
<a name="public-functions"></a>
<h2 id="public-functions">Public Functions</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#QContactDetail">QContactDetail</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#QContactDetail-1">QContactDetail</a></b>(DetailType <i>type</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#QContactDetail-2">QContactDetail</a></b>(const QContactDetail &amp;<i>other</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#dtor.QContactDetail">~QContactDetail</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> AccessConstraints </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#accessConstraints">accessConstraints</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QList&lt;int&gt; </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#contexts">contexts</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#detailUri">detailUri</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#hasValue">hasValue</a></b>(int <i>field</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#isEmpty">isEmpty</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#key">key</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QStringList </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#linkedDetailUris">linkedDetailUris</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#removeValue">removeValue</a></b>(int <i>field</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#resetKey">resetKey</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#setContexts">setContexts</a></b>(int <i>context</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#setContexts-1">setContexts</a></b>(const QList&lt;int&gt; &amp;<i>contexts</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#setDetailUri">setDetailUri</a></b>(const QString &amp;<i>detailUri</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#setLinkedDetailUris">setLinkedDetailUris</a></b>(const QStringList &amp;<i>linkedDetailUris</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#setLinkedDetailUris-1">setLinkedDetailUris</a></b>(const QString &amp;<i>linkedDetailUri</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#setValue">setValue</a></b>(int <i>field</i>, const QVariant &amp;<i>value</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> DetailType </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#type">type</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QVariant </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#value">value</a></b>(int <i>field</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> T </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#value-1">value</a></b>(int <i>field</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QMap&lt;int, QVariant&gt; </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#values">values</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#operator-not-eq">operator!=</a></b>(const QContactDetail &amp;<i>other</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QContactDetail &amp;</td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#operator-eq">operator=</a></b>(const QContactDetail &amp;<i>other</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#operator-eq-eq">operator==</a></b>(const QContactDetail &amp;<i>other</i>) const</td></tr>
</table></div>
<a name="macros"></a>
<h2 id="macros">Macros</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qcontactdetail.html#Q_DECLARE_CUSTOM_CONTACT_DETAIL">Q_DECLARE_CUSTOM_CONTACT_DETAIL</a></b></td></tr>
</table></div>
<a name="details"></a>
<!-- $$$QContactDetail-description -->
<div class="descr">
<h2 id="details">Detailed Description</h2>
<p>The <a href="qcontactdetail.html">QContactDetail</a> class represents a single, complete detail about a contact.</p>
<p>All of the information for a contact is stored in one or more <a href="qcontactdetail.html">QContactDetail</a> objects.</p>
<p>A detail is a group of logically related bits of data - for example, a street address is a single detail that has multiple fields (number, region, country etc). Different contact managers might have different fields for the same detail type, depending on their capabilities. For example, for the <a href="qcontactname.html">QContactName</a> detail one manager might not support the middle name field, while a different manager may add an extra field for specific extra information not present in the default schema.</p>
<p>One field which is common to all details is the context field. This field is intended to store one or more contexts that this detail is associated with. Commonly this will be something like &quot;Home&quot; and/or &quot;Work&quot;, although no limitations are placed on which values may be stored in this field in the default schema.</p>
<p>There are two other, related fields which are common to all details. The first is <i>QContactDetail::FieldDetailUri</i>, which stores the unique URI of the detail if one exists. The field is not mandatory, and backends are not required to verify that the given URI is indeed unique within the contact. The second field is <i>QContactDetail::LinkedDetailUris</i>, which stores a list of detail URIs to which this detail is linked. The link is one-way, and can be used to show how or where a detail was derived. This is useful for things like presence information and avatars, which are linked to a particular online account detail of the contact.</p>
<p>When a <a href="qcontactdetail.html">QContactDetail</a> has been retrieved in a <a href="qcontact.html">QContact</a> from a <a href="qcontactmanager.html">QContactManager</a>, it may have certain access constraints provided with it, like <a href="qcontactdetail.html#AccessConstraint-enum">ReadOnly</a> or <a href="qcontactdetail.html#AccessConstraint-enum">Irremovable</a>. This might mean that the supplied detail is calculated or otherwise not modifiable by the user - presence information is a good example. Also, some details may be marked <a href="qcontactdetail.html#AccessConstraint-enum">Irremovable</a>. These are typically things that a contact has to have - like a QContactType.</p>
<p>It is possible to inherit from <a href="qcontactdetail.html">QContactDetail</a> to provide convenience or standardized access to values. For example, <a href="qcontactphonenumber.html">QContactPhoneNumber</a> provides a convenient API for manipulating a <a href="qcontactdetail.html">QContactDetail</a> as a phone number, according to the schema.</p>
<p>In general, <a href="qcontactdetail.html">QContactDetail</a> and the built in subclasses (like <a href="qcontactphonenumber.html">QContactPhoneNumber</a>) provide constants for the names of fields (like <a href="qcontactphonenumber.html#PhoneNumberField-enum">QContactPhoneNumber::FieldNumber</a>), and for predefined common values like <a href="qcontactdetail.html#DetailContext-enum">QContactDetail::ContextHome</a>. Typically the constants for field names start with <code>Field</code>, and the constants for predefined values of a field start with the name of that field (e.g&#x2e; <code>ContextHome</code> is a predefined constant for <code>FieldContext</code>).</p>
<p>If you wish to create your own, customized contact detail, you should use the QContactExtendedDetail detail. <a href="qcontactdetail.html">QContactDetail</a> objects act like type checked values. In general, you can assign them to and from and have reasonable behaviour, like the following example.</p>
<pre class="cpp">

  <span class="type"><a href="qcontactphonenumber.html">QContactPhoneNumber</a></span> number;
  number<span class="operator">.</span>setNumber(<span class="string">&quot;555-1212&quot;</span>);
  <span class="comment">// number.value(QContactPhoneNumber::FieldNumber) == &quot;555-1212&quot;;</span>
  <span class="comment">// number.type() == QContactPhoneNumber::Type</span>

  <span class="type"><a href="qcontactdetail.html#QContactDetail">QContactDetail</a></span> detail <span class="operator">=</span> number;
  <span class="comment">// detail.value(QContactPhoneNumber::FieldNumber) == &quot;555-1212&quot;;</span>
  <span class="comment">// detail.type() == QContactPhoneNumber::Type</span>

  <span class="type"><a href="qcontactphonenumber.html">QContactPhoneNumber</a></span> otherNumber <span class="operator">=</span> detail;
  <span class="comment">// otherNumber.number() == &quot;555-1212&quot;;</span>
  <span class="comment">// otherNumber.type() == QContactPhoneNumber::Type</span>

  <span class="type"><a href="qcontactaddress.html">QContactAddress</a></span> address <span class="operator">=</span> detail;
  <span class="comment">// address is now a default constructed QContactAddress</span>
  <span class="comment">// address.value(QContactPhoneNumber::FieldNumber) is empty</span>
  <span class="comment">// address.type() == QContactAddress::Type</span>

  <span class="type"><a href="qcontactaddress.html">QContactAddress</a></span> otherAddress <span class="operator">=</span> number;
  <span class="comment">// otherAddress is now a default constructed QContactAddress</span>
  <span class="comment">// otherAddress.value(QContactPhoneNumber::FieldNumber) is empty</span>
  <span class="comment">// otherAddress.type() == QContactAddress::Type</span>

</pre>
</div>
<p><b>See also </b><a href="qcontact.html">QContact</a>, <a href="qcontactdetail.html#DetailType-enum">QContactDetail::DetailType</a>, <a href="qcontactdetailfilter.html">QContactDetailFilter</a>, <a href="qcontactdetailrangefilter.html">QContactDetailRangeFilter</a>, and <a href="qcontactdetail.html#Q_DECLARE_CUSTOM_CONTACT_DETAIL">Q_DECLARE_CUSTOM_CONTACT_DETAIL</a>.</p>
<!-- @@@QContactDetail -->
<div class="types">
<h2>Member Type Documentation</h2>
<!-- $$$AccessConstraint$$$NoConstraint$$$ReadOnly$$$Irremovable -->
<h3 class="flags" id="AccessConstraint-enum"><a name="AccessConstraint-enum"></a>enum QContactDetail::<span class="name">AccessConstraint</span><br/>flags QContactDetail::<span class="name">AccessConstraints</span></h3>
<p>This enum defines the access constraints for a detail. This information is typically provided by the manager when a contact is retrieved.</p>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QContactDetail::NoConstraint</code></td><td class="topAlign tblval"><code>0</code></td><td class="topAlign">Users can read, write, and otherwise modify this detail in any manner.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::ReadOnly</code></td><td class="topAlign tblval"><code>0x01</code></td><td class="topAlign">Users cannot write or modify values in this detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::Irremovable</code></td><td class="topAlign tblval"><code>0x02</code></td><td class="topAlign">Users cannot remove this detail from a contact.</td></tr>
</table></div>
<p>The AccessConstraints type is a typedef for <a href="">QFlags</a>&lt;AccessConstraint&gt;. It stores an OR combination of AccessConstraint values.</p>
<!-- @@@AccessConstraint -->
<!-- $$$DetailContext$$$ContextHome$$$ContextWork$$$ContextOther -->
<h3 class="fn" id="DetailContext-enum"><a name="DetailContext-enum"></a>enum QContactDetail::<span class="name">DetailContext</span></h3>
<p>This enum defines the contexts for a detail.</p>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QContactDetail::ContextHome</code></td><td class="topAlign tblval"><code>0</code></td><td class="topAlign">The detail data relates to home / private detail about the contact.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::ContextWork</code></td><td class="topAlign tblval"><code>1</code></td><td class="topAlign">The detail data relates to business / work detail about the contact.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::ContextOther</code></td><td class="topAlign tblval"><code>2</code></td><td class="topAlign">Generic context, neither ContextHome nor ContextWork</td></tr>
</table></div>
<p><b>See also </b><a href="qcontactdetail.html#setContexts">setContexts</a>() and <a href="qcontactdetail.html#contexts">contexts</a>().</p>
<!-- @@@DetailContext -->
<!-- $$$DetailField$$$FieldContext$$$FieldDetailUri$$$FieldLinkedDetailUris -->
<h3 class="fn" id="DetailField-enum"><a name="DetailField-enum"></a>enum QContactDetail::<span class="name">DetailField</span></h3>
<p>This enum defines the common fields supported by any detail.</p>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QContactDetail::FieldContext</code></td><td class="topAlign tblval"><code>5000</code></td><td class="topAlign">The field containing the contexts of a detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::FieldDetailUri</code></td><td class="topAlign tblval"><code>5001</code></td><td class="topAlign">The field containing the detail URI of a detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::FieldLinkedDetailUris</code></td><td class="topAlign tblval"><code>5002</code></td><td class="topAlign">The field containing the URIs of other details linked to a detail.</td></tr>
</table></div>
<p><b>See also </b><a href="qcontactdetail.html#setContexts">setContexts</a>(), <a href="qcontactdetail.html#contexts">contexts</a>(), <a href="qcontactdetail.html#setDetailUri">setDetailUri</a>(), <a href="qcontactdetail.html#detailUri">detailUri</a>(), <a href="qcontactdetail.html#setLinkedDetailUris">setLinkedDetailUris</a>(), and <a href="qcontactdetail.html#linkedDetailUris">linkedDetailUris</a>().</p>
<!-- @@@DetailField -->
<!-- $$$DetailType$$$TypeUndefined$$$TypeAddress$$$TypeAnniversary$$$TypeAvatar$$$TypeBirthday$$$TypeDisplayLabel$$$TypeEmailAddress$$$TypeExtendedDetail$$$TypeFamily$$$TypeFavorite$$$TypeGender$$$TypeGeoLocation$$$TypeGlobalPresence$$$TypeGuid$$$TypeHobby$$$TypeName$$$TypeNickname$$$TypeNote$$$TypeOnlineAccount$$$TypeOrganization$$$TypePhoneNumber$$$TypePresence$$$TypeRingtone$$$TypeSyncTarget$$$TypeTag$$$TypeTimestamp$$$TypeType$$$TypeUrl$$$TypeVersion -->
<h3 class="fn" id="DetailType-enum"><a name="DetailType-enum"></a>enum QContactDetail::<span class="name">DetailType</span></h3>
<p>This enumeration defines the detail types provided by the contacts API.</p>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeUndefined</code></td><td class="topAlign tblval"><code>0</code></td><td class="topAlign">Convenience value used to represent unknown / undefined detail types.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeAddress</code></td><td class="topAlign tblval"><code>1</code></td><td class="topAlign">Detail type of a <a href="qcontactaddress.html">QContactAddress</a> detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeAnniversary</code></td><td class="topAlign tblval"><code>2</code></td><td class="topAlign">Detail type of a QContactAnniversary detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeAvatar</code></td><td class="topAlign tblval"><code>3</code></td><td class="topAlign">Detail type of a QContactAvatar detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeBirthday</code></td><td class="topAlign tblval"><code>4</code></td><td class="topAlign">Detail type of a QContactBirthday detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeDisplayLabel</code></td><td class="topAlign tblval"><code>5</code></td><td class="topAlign">Detail type of a <a href="qcontactdisplaylabel.html">QContactDisplayLabel</a> detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeEmailAddress</code></td><td class="topAlign tblval"><code>6</code></td><td class="topAlign">Detail type of a <a href="qcontactemailaddress.html">QContactEmailAddress</a> detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeExtendedDetail</code></td><td class="topAlign tblval"><code>7</code></td><td class="topAlign">Detail type of a QContactExtendedDetail detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeFamily</code></td><td class="topAlign tblval"><code>8</code></td><td class="topAlign">Detail type of a QContactFamily detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeFavorite</code></td><td class="topAlign tblval"><code>9</code></td><td class="topAlign">Detail type of a <a href="qcontactfavorite.html">QContactFavorite</a> detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeGender</code></td><td class="topAlign tblval"><code>10</code></td><td class="topAlign">Detail type of a QContactGender detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeGeoLocation</code></td><td class="topAlign tblval"><code>11</code></td><td class="topAlign">Detail type of a QContactGeoLocation detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeGlobalPresence</code></td><td class="topAlign tblval"><code>12</code></td><td class="topAlign">Detail type of a <a href="qcontactglobalpresence.html">QContactGlobalPresence</a> detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeGuid</code></td><td class="topAlign tblval"><code>13</code></td><td class="topAlign">Detail type of a QContactGuid detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeHobby</code></td><td class="topAlign tblval"><code>14</code></td><td class="topAlign">Detail type of a QContactHobby detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeName</code></td><td class="topAlign tblval"><code>15</code></td><td class="topAlign">Detail type of a <a href="qcontactname.html">QContactName</a> detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeNickname</code></td><td class="topAlign tblval"><code>16</code></td><td class="topAlign">Detail type of a QContactNickname detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeNote</code></td><td class="topAlign tblval"><code>17</code></td><td class="topAlign">Detail type of a QContactNote detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeOnlineAccount</code></td><td class="topAlign tblval"><code>18</code></td><td class="topAlign">Detail type of a QContactOnlineAccount detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeOrganization</code></td><td class="topAlign tblval"><code>19</code></td><td class="topAlign">Detail type of a QContactOrganization detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypePhoneNumber</code></td><td class="topAlign tblval"><code>20</code></td><td class="topAlign">Detail type of a <a href="qcontactphonenumber.html">QContactPhoneNumber</a> detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypePresence</code></td><td class="topAlign tblval"><code>21</code></td><td class="topAlign">Detail type of a QContactPresence detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeRingtone</code></td><td class="topAlign tblval"><code>22</code></td><td class="topAlign">Detail type of a QContactRingtone detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeSyncTarget</code></td><td class="topAlign tblval"><code>23</code></td><td class="topAlign">Detail type of a QContactSyncTarget detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeTag</code></td><td class="topAlign tblval"><code>24</code></td><td class="topAlign">Detail type of a <a href="qcontacttag.html">QContactTag</a> detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeTimestamp</code></td><td class="topAlign tblval"><code>25</code></td><td class="topAlign">Detail type of a QContactTimestamp detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeType</code></td><td class="topAlign tblval"><code>26</code></td><td class="topAlign">Detail type of a QContactType detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeUrl</code></td><td class="topAlign tblval"><code>27</code></td><td class="topAlign">Detail type of a QContactUrl detail.</td></tr>
<tr><td class="topAlign"><code>QContactDetail::TypeVersion</code></td><td class="topAlign tblval"><code>28</code></td><td class="topAlign">Detail type of a QContactVersion detail.</td></tr>
</table></div>
<p><b>See also </b><a href="qcontactdetail.html#type">type</a>().</p>
<!-- @@@DetailType -->
</div>
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$QContactDetail[overload1]$$$QContactDetail -->
<h3 class="fn" id="QContactDetail"><a name="QContactDetail"></a>QContactDetail::<span class="name">QContactDetail</span>()</h3>
<p>Constructs a new, empty detail</p>
<!-- @@@QContactDetail -->
<!-- $$$QContactDetail$$$QContactDetailDetailType -->
<h3 class="fn" id="QContactDetail-1"><a name="QContactDetail-1"></a>QContactDetail::<span class="name">QContactDetail</span>(<span class="type"><a href="qcontactdetail.html#DetailType-enum">DetailType</a></span> <i>type</i>)</h3>
<p>Constructs a new, empty detail of the type identified by <i>type</i>.</p>
<!-- @@@QContactDetail -->
<!-- $$$QContactDetail$$$QContactDetailconstQContactDetail& -->
<h3 class="fn" id="QContactDetail-2"><a name="QContactDetail-2"></a>QContactDetail::<span class="name">QContactDetail</span>(const <span class="type"><a href="qcontactdetail.html#QContactDetail">QContactDetail</a></span> &amp;<i>other</i>)</h3>
<p>Constructs a detail that is a copy of <i>other</i></p>
<!-- @@@QContactDetail -->
<!-- $$$~QContactDetail[overload1]$$$~QContactDetail -->
<h3 class="fn" id="dtor.QContactDetail"><a name="dtor.QContactDetail"></a>QContactDetail::<span class="name">~QContactDetail</span>()</h3>
<p>Frees the memory used by this detail</p>
<!-- @@@~QContactDetail -->
<!-- $$$accessConstraints[overload1]$$$accessConstraints -->
<h3 class="fn" id="accessConstraints"><a name="accessConstraints"></a><span class="type"><a href="qcontactdetail.html#AccessConstraint-enum">AccessConstraints</a></span> QContactDetail::<span class="name">accessConstraints</span>() const</h3>
<p>Returns the access constraints associated with the detail.</p>
<p>Some details may not be written to, while other details may not be removed from a contact.</p>
<p><b>See also </b><a href="qcontactdetail.html#AccessConstraint-enum">QContactDetail::AccessConstraints</a>.</p>
<!-- @@@accessConstraints -->
<!-- $$$contexts[overload1]$$$contexts -->
<h3 class="fn" id="contexts"><a name="contexts"></a><span class="type">QList</span>&lt;<span class="type">int</span>&gt; QContactDetail::<span class="name">contexts</span>() const</h3>
<p>This is a convenience function to return the <code>Context</code> field of this detail.</p>
<p>It is equivalent to the following code:</p>
<pre class="cpp">

  value<span class="operator">&lt;</span><span class="type">QStringList</span><span class="operator">&gt;</span>(<span class="type"><a href="qcontactdetail.html#QContactDetail">QContactDetail</a></span><span class="operator">::</span>FieldContext);

</pre>
<p><b>See also </b><a href="qcontactdetail.html#setContexts">setContexts</a>() and <a href="qcontactdetail.html#value">value</a>().</p>
<!-- @@@contexts -->
<!-- $$$detailUri[overload1]$$$detailUri -->
<h3 class="fn" id="detailUri"><a name="detailUri"></a><span class="type">QString</span> QContactDetail::<span class="name">detailUri</span>() const</h3>
<p>This is a convenience function to return the <code>DetailUri</code> field of this detail.</p>
<p>It is equivalent to the following code:</p>
<pre class="cpp">

  value(<span class="type"><a href="qcontactdetail.html#QContactDetail">QContactDetail</a></span><span class="operator">::</span>FieldDetailUri);

</pre>
<p><b>See also </b><a href="qcontactdetail.html#setDetailUri">setDetailUri</a>() and <a href="qcontactdetail.html#value">value</a>().</p>
<!-- @@@detailUri -->
<!-- $$$hasValue[overload1]$$$hasValueint -->
<h3 class="fn" id="hasValue"><a name="hasValue"></a><span class="type">bool</span> QContactDetail::<span class="name">hasValue</span>(<span class="type">int</span> <i>field</i>) const</h3>
<p>Returns true if this detail has a field with the given <i>field</i>, or false otherwise.</p>
<!-- @@@hasValue -->
<!-- $$$isEmpty[overload1]$$$isEmpty -->
<h3 class="fn" id="isEmpty"><a name="isEmpty"></a><span class="type">bool</span> QContactDetail::<span class="name">isEmpty</span>() const</h3>
<p>Returns true if no values are contained in this detail. Note that context is stored as a value; hence, if a context is set, this function will return false.</p>
<p>An empty value (for example, the string &quot;&quot;) is still a value contained in this detail, so this function will return false.</p>
<!-- @@@isEmpty -->
<!-- $$$key[overload1]$$$key -->
<h3 class="fn" id="key"><a name="key"></a><span class="type">int</span> QContactDetail::<span class="name">key</span>() const</h3>
<p>Returns the key of this detail.</p>
<p>Be aware that if a contact is retrieved (or reloaded) from the backend, the keys of any details it contains may have been changed by the backend, or other threads may have modified the contact details in the backend. Therefore, clients should reload the detail that they wish to save in or remove from a contact after retrieving the contact from the backend, in order to ascertain the keys of any such details.</p>
<!-- @@@key -->
<!-- $$$linkedDetailUris[overload1]$$$linkedDetailUris -->
<h3 class="fn" id="linkedDetailUris"><a name="linkedDetailUris"></a><span class="type">QStringList</span> QContactDetail::<span class="name">linkedDetailUris</span>() const</h3>
<p>This is a convenience function to return the <code>Context</code> field of this detail.</p>
<p>It is equivalent to the following code:</p>
<pre class="cpp">

  value<span class="operator">&lt;</span><span class="type">QStringList</span><span class="operator">&gt;</span>(<span class="type"><a href="qcontactdetail.html#QContactDetail">QContactDetail</a></span><span class="operator">::</span>FieldLinkedDetailUris);

</pre>
<p><b>See also </b><a href="qcontactdetail.html#setLinkedDetailUris">setLinkedDetailUris</a>() and <a href="qcontactdetail.html#value">value</a>().</p>
<!-- @@@linkedDetailUris -->
<!-- $$$removeValue[overload1]$$$removeValueint -->
<h3 class="fn" id="removeValue"><a name="removeValue"></a><span class="type">bool</span> QContactDetail::<span class="name">removeValue</span>(<span class="type">int</span> <i>field</i>)</h3>
<p>Removes the value stored in this detail for the given <i>field</i>. Returns true if a value was stored for the given <i>field</i> and the operation succeeded, and false otherwise.</p>
<!-- @@@removeValue -->
<!-- $$$resetKey[overload1]$$$resetKey -->
<h3 class="fn" id="resetKey"><a name="resetKey"></a><span class="type">void</span> QContactDetail::<span class="name">resetKey</span>()</h3>
<p>Causes the implicitly-shared detail to be detached from any other copies, and generates a new key for it. This ensures that calling <a href="qcontact.html#saveDetail">QContact::saveDetail</a>() will result in a new detail being saved, rather than another detail being updated.</p>
<!-- @@@resetKey -->
<!-- $$$setContexts[overload1]$$$setContextsint -->
<h3 class="fn" id="setContexts"><a name="setContexts"></a><span class="type">void</span> QContactDetail::<span class="name">setContexts</span>(<span class="type">int</span> <i>context</i>)</h3>
<p>This is a convenience function that sets the <code>Context</code> field of this detail to the given <i>context</i>. It is useful if the detail is only valid in a single context.</p>
<p>It is equivalent to the following code:</p>
<pre class="cpp">

  setValue(FieldContext<span class="operator">,</span> <span class="type">QList</span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span>() <span class="operator">&lt;</span><span class="operator">&lt;</span> context);

</pre>
<p><b>See also </b><a href="qcontactdetail.html#contexts">contexts</a>() and <a href="qcontactdetail.html#setValue">setValue</a>().</p>
<!-- @@@setContexts -->
<!-- $$$setContexts$$$setContextsconstQList<int>& -->
<h3 class="fn" id="setContexts-1"><a name="setContexts-1"></a><span class="type">void</span> QContactDetail::<span class="name">setContexts</span>(const <span class="type">QList</span>&lt;<span class="type">int</span>&gt; &amp;<i>contexts</i>)</h3>
<p>This is a convenience function that sets the <code>Context</code> field of this detail to the given <i>contexts</i>.</p>
<p>It is equivalent to the following code:</p>
<pre class="cpp">

  setValue(<span class="type"><a href="qcontactdetail.html#QContactDetail">QContactDetail</a></span><span class="operator">::</span>FieldContext<span class="operator">,</span> contexts);

</pre>
<p><b>See also </b><a href="qcontactdetail.html#setValue">setValue</a>().</p>
<!-- @@@setContexts -->
<!-- $$$setDetailUri[overload1]$$$setDetailUriconstQString& -->
<h3 class="fn" id="setDetailUri"><a name="setDetailUri"></a><span class="type">void</span> QContactDetail::<span class="name">setDetailUri</span>(const <span class="type">QString</span> &amp;<i>detailUri</i>)</h3>
<p>This is a convenience function that sets the <code>DetailUri</code> field of this detail to the given <i>detailUri</i>. In order to be linked to, a detail must have a specific and (per-contact) unique detail URI set.</p>
<p>It is equivalent to the following code:</p>
<pre class="cpp">

  setValue(FieldDetailUri<span class="operator">,</span> detailUri);

</pre>
<p><b>See also </b><a href="qcontactdetail.html#detailUri">detailUri</a>() and <a href="qcontactdetail.html#setValue">setValue</a>().</p>
<!-- @@@setDetailUri -->
<!-- $$$setLinkedDetailUris[overload1]$$$setLinkedDetailUrisconstQStringList& -->
<h3 class="fn" id="setLinkedDetailUris"><a name="setLinkedDetailUris"></a><span class="type">void</span> QContactDetail::<span class="name">setLinkedDetailUris</span>(const <span class="type">QStringList</span> &amp;<i>linkedDetailUris</i>)</h3>
<p>This is a convenience function that sets the <code>LinkedDetailUris</code> field of this detail to the given <i>linkedDetailUris</i>.</p>
<p>It is equivalent to the following code:</p>
<pre class="cpp">

  setValue(<span class="type"><a href="qcontactdetail.html#QContactDetail">QContactDetail</a></span><span class="operator">::</span>FieldLinkedDetailUris<span class="operator">,</span> linkedDetailUris);

</pre>
<p><b>See also </b><a href="qcontactdetail.html#linkedDetailUris">linkedDetailUris</a>() and <a href="qcontactdetail.html#setValue">setValue</a>().</p>
<!-- @@@setLinkedDetailUris -->
<!-- $$$setLinkedDetailUris$$$setLinkedDetailUrisconstQString& -->
<h3 class="fn" id="setLinkedDetailUris-1"><a name="setLinkedDetailUris-1"></a><span class="type">void</span> QContactDetail::<span class="name">setLinkedDetailUris</span>(const <span class="type">QString</span> &amp;<i>linkedDetailUri</i>)</h3>
<p>This is a convenience function that sets the <code>LinkedDetailUris</code> field of this detail to the given <i>linkedDetailUri</i>. It is useful if the detail is linked to a single other detail in the contact.</p>
<p>It is equivalent to the following code:</p>
<pre class="cpp">

  setValue(FieldLinkedDetailUris<span class="operator">,</span> <span class="type">QStringList</span>(linkedDetailUri));

</pre>
<p><b>See also </b><a href="qcontactdetail.html#setValue">setValue</a>().</p>
<!-- @@@setLinkedDetailUris -->
<!-- $$$setValue[overload1]$$$setValueintconstQVariant& -->
<h3 class="fn" id="setValue"><a name="setValue"></a><span class="type">bool</span> QContactDetail::<span class="name">setValue</span>(<span class="type">int</span> <i>field</i>, const <span class="type">QVariant</span> &amp;<i>value</i>)</h3>
<p>Inserts <i>value</i> into the detail for the given <i>field</i> if <i>value</i> is valid. If <i>value</i> is invalid, removes the field with the given <i>field</i> from the detail. Returns true if the given <i>value</i> was set for the <i>field</i> (if the <i>value</i> was valid), or if the given <i>field</i> was removed from detail (if the <i>value</i> was invalid), and returns false if the field could not be removed (and the <i>value</i> was invalid)</p>
<p><b>See also </b><a href="qcontactdetail.html#value">value</a>().</p>
<!-- @@@setValue -->
<!-- $$$type[overload1]$$$type -->
<h3 class="fn" id="type"><a name="type"></a><span class="type"><a href="qcontactdetail.html#DetailType-enum">DetailType</a></span> QContactDetail::<span class="name">type</span>() const</h3>
<p>Returns the (unique) enum of the type which defines the semantics and structure of this detail.</p>
<!-- @@@type -->
<!-- $$$value[overload1]$$$valueint -->
<h3 class="fn" id="value"><a name="value"></a><span class="type">QVariant</span> QContactDetail::<span class="name">value</span>(<span class="type">int</span> <i>field</i>) const</h3>
<p>Returns the value stored in this detail for the given <i>field</i>. An invalid QVariant is returned if the value of <i>field</i> is not set.</p>
<p><b>See also </b><a href="qcontactdetail.html#setValue">setValue</a>().</p>
<!-- @@@value -->
<!-- $$$value$$$valueint -->
<h3 class="fn" id="value-1"><a name="value-1"></a><span class="type">T</span> QContactDetail::<span class="name">value</span>(<span class="type">int</span> <i>field</i>) const</h3>
<!-- @@@value -->
<!-- $$$values[overload1]$$$values -->
<h3 class="fn" id="values"><a name="values"></a><span class="type">QMap</span>&lt;<span class="type">int</span>, <span class="type">QVariant</span>&gt; QContactDetail::<span class="name">values</span>() const</h3>
<p>Returns the values stored in this detail as a field-to-value map.</p>
<!-- @@@values -->
<!-- $$$operator!=[overload1]$$$operator!=constQContactDetail& -->
<h3 class="fn" id="operator-not-eq"><a name="operator-not-eq"></a><span class="type">bool</span> QContactDetail::<span class="name">operator!=</span>(const <span class="type"><a href="qcontactdetail.html#QContactDetail">QContactDetail</a></span> &amp;<i>other</i>) const</h3>
<p>Returns true if the values or id of this detail is different to those of the <i>other</i> detail</p>
<!-- @@@operator!= -->
<!-- $$$operator=[overload1]$$$operator=constQContactDetail& -->
<h3 class="fn" id="operator-eq"><a name="operator-eq"></a><span class="type"><a href="qcontactdetail.html#QContactDetail">QContactDetail</a></span> &amp;QContactDetail::<span class="name">operator=</span>(const <span class="type"><a href="qcontactdetail.html#QContactDetail">QContactDetail</a></span> &amp;<i>other</i>)</h3>
<p>Assigns this detail to <i>other</i></p>
<!-- @@@operator= -->
<!-- $$$operator==[overload1]$$$operator==constQContactDetail& -->
<h3 class="fn" id="operator-eq-eq"><a name="operator-eq-eq"></a><span class="type">bool</span> QContactDetail::<span class="name">operator==</span>(const <span class="type"><a href="qcontactdetail.html#QContactDetail">QContactDetail</a></span> &amp;<i>other</i>) const</h3>
<p>Compares this detail to <i>other</i>. Returns true if the type, access constraints and values of <i>other</i> are equal to those of this detail. The keys of each detail are not considered during the comparison, in order to allow details from different contacts to be compared according to their values.</p>
<!-- @@@operator== -->
</div>
<div class="macros">
<h2>Macro Documentation</h2>
<!-- $$$Q_DECLARE_CUSTOM_CONTACT_DETAIL[overload1]$$$Q_DECLARE_CUSTOM_CONTACT_DETAIL -->
<h3 class="fn" id="Q_DECLARE_CUSTOM_CONTACT_DETAIL"><a name="Q_DECLARE_CUSTOM_CONTACT_DETAIL"></a><span class="name">Q_DECLARE_CUSTOM_CONTACT_DETAIL</span></h3>
<p>Macro for simplifying declaring custom (leaf) detail classes.</p>
<p>The first argument is the detail type of the class.</p>
<p>If you are creating a convenience class for a type of <a href="qcontactdetail.html">QContactDetail</a>, you should use this macro when declaring your class to ensure that it interoperates with other contact functionality.</p>
<p>Here is an example of a class (<a href="qcontactphonenumber.html">QContactPhoneNumber</a>) using this macro. Note that the class provides some predefined constants and some convenience methods that return values associated with schema fields.</p>
<pre class="cpp">

  <span class="keyword">class</span> Q_CONTACTS_EXPORT <span class="type"><a href="qcontactphonenumber.html">QContactPhoneNumber</a></span> : <span class="keyword">public</span> <span class="type"><a href="qcontactdetail.html">QContactDetail</a></span>
  {
  <span class="keyword">public</span>:
  <span class="preprocessor">#ifndef Q_QDOC</span>
      Q_DECLARE_CUSTOM_CONTACT_DETAIL(<span class="type"><a href="qcontactphonenumber.html">QContactPhoneNumber</a></span>)
  <span class="preprocessor">#else</span>
      <span class="keyword">static</span> <span class="keyword">const</span> DetailType Type;
  <span class="preprocessor">#endif</span>

      <span class="keyword">enum</span> PhoneNumberField {
          FieldNumber <span class="operator">=</span> <span class="number">0</span><span class="operator">,</span>
          FieldSubTypes
      };

      <span class="keyword">enum</span> SubType {
          SubTypeLandline <span class="operator">=</span> <span class="number">0</span><span class="operator">,</span>
          SubTypeMobile<span class="operator">,</span>
          SubTypeFax<span class="operator">,</span>
          SubTypePager<span class="operator">,</span>
          SubTypeVoice<span class="operator">,</span>
          SubTypeModem<span class="operator">,</span>
          SubTypeVideo<span class="operator">,</span>
          SubTypeCar<span class="operator">,</span>
          SubTypeBulletinBoardSystem<span class="operator">,</span>
          SubTypeMessagingCapable<span class="operator">,</span>
          SubTypeAssistant<span class="operator">,</span>
          SubTypeDtmfMenu
      };

      <span class="type">void</span> setNumber(<span class="keyword">const</span> <span class="type">QString</span><span class="operator">&amp;</span> number) {setValue(FieldNumber<span class="operator">,</span> number);}
      <span class="type">QString</span> number() <span class="keyword">const</span> {<span class="keyword">return</span> value(FieldNumber)<span class="operator">.</span>toString();}

      <span class="type">void</span> setSubTypes(<span class="keyword">const</span> <span class="type">QList</span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> <span class="operator">&amp;</span>subTypes) {setValue(FieldSubTypes<span class="operator">,</span> <span class="type">QVariant</span><span class="operator">::</span>fromValue(subTypes));}
      <span class="type">QList</span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> subTypes() <span class="keyword">const</span> {<span class="keyword">return</span> value<span class="operator">&lt;</span> <span class="type">QList</span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> <span class="operator">&gt;</span>(FieldSubTypes);}

      <span class="comment">// Convenience filter</span>
      <span class="keyword">static</span> <span class="type"><a href="qcontactfilter.html">QContactFilter</a></span> match(<span class="keyword">const</span> <span class="type">QString</span><span class="operator">&amp;</span> number);
  };

</pre>
<!-- @@@Q_DECLARE_CUSTOM_CONTACT_DETAIL -->
</div>
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2017 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>