Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Pims.Contacts / Tizen.Pims.Contacts / ContactsViews.cs
1 /*
2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3 *
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 using System;
18 using System.Collections.Generic;
19
20 namespace Tizen.Pims.Contacts
21 {
22     /// <summary>
23     /// This class provides information about views with properties.
24     /// </summary>
25     /// <remarks>
26     ///  Views are provided to access and handle entities. A view is a structure, which has property elements.
27     ///  A view is almost the same as a database "VIEW", which limits access and guarantees performance.
28     ///  A "record" represents a single row of the views.
29     ///  A record can have basic properties of five types: integer, string, boolean, long, double.
30     /// </remarks>
31     public static class ContactsViews
32     {
33         private const uint PropertyAddressBook = 0x00100000;
34         private const uint PropertyGroup = 0x00200000;
35         private const uint PropertyPerson = 0x00300000;
36         private const uint PropertyData = 0x00600000;
37         private const uint PropertySpeedDial =  0x00700000;
38         private const uint PropertyPhonelog = 0x00800000;
39         private const uint PropertyUpdateInfo = 0x00900000;
40         private const uint PropertyPhonelogStat = 0x00B00000;
41
42         private const uint PropertyContact = 0x01000000;
43         private const uint PropertyName = 0x01100000;
44         private const uint PropertyNumber = 0x01200000;
45         private const uint PropertyEmail = 0x01300000;
46         private const uint PropertyAddress = 0x01400000;
47         private const uint PropertyUrl = 0x01500000;
48         private const uint PropertyEvent = 0x01600000;
49         private const uint PropertyGroupRelation = 0x01700000;
50         private const uint PropertyRelationship = 0x01800000;
51         private const uint PropertyCompany = 0x01900000;
52         private const uint PropertyNickname = 0x01A00000;
53         private const uint PropertyMessenger = 0x01B00000;
54         private const uint PropertyNote = 0x01C00000;
55         private const uint PropertyProfile = 0x01D00000;
56         private const uint PropertyImage = 0x01E00000;
57         private const uint PropertyExtension = 0x01F00000;
58         private const uint PropertyMyProfile = 0x02000000;
59         private const uint PropertyActivityPhoto = 0x02100000;
60         private const uint PropertySip = 0x02200000;
61
62         /* data_type mask 0x000FF000 */
63         private const uint DataTypeBool = 0x00010000;
64         private const uint DataTypeInt = 0x00020000;
65         private const uint DataTypeLong = 0x00030000;
66         private const uint DataTypeString = 0x00040000;
67         private const uint DataTypeDouble = 0x00050000;
68         private const uint DataTypeRecord = 0x00060000;
69
70         private const uint ReadOnly = 0x00001000;
71
72         private enum PropertyIds : uint
73         {
74             /* addressbook */
75             AddressbookId = (PropertyAddressBook | DataTypeInt | ReadOnly),
76             AddressbookAccountId = (PropertyAddressBook | DataTypeInt) + 1,
77             AddressbookName = (PropertyAddressBook | DataTypeString) + 2,
78             AddressbookMode = (PropertyAddressBook | DataTypeInt) + 3,
79
80             /* group */
81             GroupId = (PropertyGroup | DataTypeInt | ReadOnly),
82             GroupAddressbookId = (PropertyGroup | DataTypeInt) + 1,
83             GroupName = (PropertyGroup | DataTypeString) + 2,
84             GroupRingtone = (PropertyGroup | DataTypeString) + 3,
85             GroupImage = (PropertyGroup | DataTypeString) + 4,
86             GroupVibration = (PropertyGroup | DataTypeString) + 5,
87             GroupExtraData = (PropertyGroup | DataTypeString) + 6,
88             GroupIsReadOnly = (PropertyGroup | DataTypeBool) + 7,
89             GroupMessageAlert = (PropertyGroup | DataTypeString) + 8,
90
91             /* person */
92             PersonId = (PropertyPerson | DataTypeInt | ReadOnly),
93             PersonDisplayName = (PropertyPerson | DataTypeString | ReadOnly) + 1,
94             PersonDisplayContactId = (PropertyPerson | DataTypeInt) + 2,
95             PersonRingtone = (PropertyPerson | DataTypeString) + 3,
96             PersonThumbnail = (PropertyPerson | DataTypeString | ReadOnly) + 4,
97             PersonVibration = (PropertyPerson | DataTypeString) + 5,
98             PersonIsFavorite = (PropertyPerson | DataTypeBool) + 6,
99             PersonFavoritePriority = (PropertyPerson | DataTypeDouble | ReadOnly) + 7,
100             PersonLinkCount = (PropertyPerson | DataTypeInt | ReadOnly) + 8,
101             PersonAddressbookIds = (PropertyPerson | DataTypeString | ReadOnly) + 9,
102             PersonHasPhoneNumber = (PropertyPerson | DataTypeBool | ReadOnly) + 10,
103             PersonHasEmail = (PropertyPerson | DataTypeBool | ReadOnly) + 11,
104             PersonDisplayNameIndex = (PropertyPerson | DataTypeString | ReadOnly) + 12,
105             PersonStatus = (PropertyPerson | DataTypeString | ReadOnly) + 13,
106             PersonMessageAlert = (PropertyPerson | DataTypeString) + 14,
107             PersonSnippetType = (PropertyPerson | DataTypeInt | ReadOnly) + 15,
108             PersonSnippetString = (PropertyPerson | DataTypeString | ReadOnly) + 16,
109
110             /* person-stat */
111             PersonUsageType = (PropertyPerson | DataTypeInt) + 100,
112             PersonTimesUsed = (PropertyPerson | DataTypeInt) + 101,
113
114             /* simple contact : read only */
115             /* contact */
116             ContactId = (PropertyContact | DataTypeInt | ReadOnly),
117             ContactDisplayName = (PropertyContact | DataTypeString | ReadOnly) + 1,
118             ContactDisplaySourceDataId = (PropertyContact | DataTypeInt | ReadOnly) + 2,
119             ContactAddressbookId = (PropertyContact | DataTypeInt) + 3,
120             ContactRingtone = (PropertyContact | DataTypeString) + 4,
121             ContactImage = (PropertyContact | DataTypeRecord) + 5,
122             ContactThumbnail = (PropertyContact | DataTypeString | ReadOnly) + 6,
123             ContactIsFavorite = (PropertyContact | DataTypeBool) + 7,
124             ContactHasPhoneNumber = (PropertyContact | DataTypeBool | ReadOnly) + 8,
125             ContactHasEmail = (PropertyContact | DataTypeBool | ReadOnly) + 9,
126             ContactPersonId = (PropertyContact | DataTypeInt) + 10,
127             ContactUid = (PropertyContact | DataTypeString) + 11,
128             ContactVibration = (PropertyContact | DataTypeString) + 12,
129             ContactChangedTime = (PropertyContact | DataTypeInt | ReadOnly) + 13,
130             ContactName = (PropertyContact | DataTypeRecord) + 14,
131             ContactCompany = (PropertyContact | DataTypeRecord) + 15,
132             ContactNote = (PropertyContact | DataTypeRecord) + 16,
133             ContactNumber = (PropertyContact | DataTypeRecord) + 17,
134             ContactEmail = (PropertyContact | DataTypeRecord) + 18,
135             ContactEvent = (PropertyContact | DataTypeRecord) + 19,
136             ContactMessenger = (PropertyContact | DataTypeRecord) + 20,
137             ContactAddress = (PropertyContact | DataTypeRecord) + 21,
138             ContactUrl = (PropertyContact | DataTypeRecord) + 22,
139             ContactNickname = (PropertyContact | DataTypeRecord) + 23,
140             ContactProfile = (PropertyContact | DataTypeRecord) + 24,
141             ContactRelationship = (PropertyContact | DataTypeRecord) + 25,
142             ContactGroupRelation = (PropertyContact | DataTypeRecord) + 26,
143             ContactExtension = (PropertyContact | DataTypeRecord) + 27,
144             ContactLinkMode = (PropertyContact | DataTypeInt) + 28,
145             ContactMessageAlert = (PropertyContact | DataTypeString) + 29,
146             ContactSip = (PropertyContact | DataTypeRecord) + 30,
147
148             /* my_profile */
149             MyProfileId = (PropertyMyProfile | DataTypeInt | ReadOnly),
150             MyProfileDisplayName = (PropertyMyProfile | DataTypeString | ReadOnly) + 1,
151             MyProfileAddressbookId = (PropertyMyProfile | DataTypeInt) + 2,
152             MyProfileImage = (PropertyMyProfile | DataTypeRecord) + 3,
153             MyProfileThumbnail = (PropertyMyProfile | DataTypeString | ReadOnly) + 4,
154             MyProfileUid = (PropertyMyProfile | DataTypeString) + 5,
155             MyProfileChangedTime = (PropertyMyProfile | DataTypeInt) + 6,
156             MyProfileName = (PropertyMyProfile | DataTypeRecord) + 7,
157             MyProfileCompany = (PropertyMyProfile | DataTypeRecord) + 8,
158             MyProfileNote = (PropertyMyProfile | DataTypeRecord) + 9,
159             MyProfileNumber = (PropertyMyProfile | DataTypeRecord) + 10,
160             MyProfileEmail = (PropertyMyProfile | DataTypeRecord) + 11,
161             MyProfileEvent = (PropertyMyProfile | DataTypeRecord) + 12,
162             MyProfileMessenger = (PropertyMyProfile | DataTypeRecord) + 13,
163             MyProfileAddress = (PropertyMyProfile | DataTypeRecord) + 14,
164             MyProfileUrl = (PropertyMyProfile | DataTypeRecord) + 15,
165             MyProfileNickname = (PropertyMyProfile | DataTypeRecord) + 16,
166             MyProfileProfile = (PropertyMyProfile | DataTypeRecord) + 17,
167             MyProfileRelationship = (PropertyMyProfile | DataTypeRecord) + 18,
168             MyProfileExtension = (PropertyMyProfile | DataTypeRecord) + 19,
169             MyProfileSip = (PropertyMyProfile | DataTypeRecord) + 20,
170
171             /* data */
172             DataId = (PropertyData | DataTypeInt),
173             DataContactId = (PropertyData | DataTypeInt) + 1,
174             DataType = (PropertyData | DataTypeInt) + 2,
175             DataIsPrimaryDefault = (PropertyData | DataTypeBool) + 3,
176             DataIsDefault = (PropertyData | DataTypeBool) + 4,
177             DataData1 = (PropertyData | DataTypeInt) + 5,
178             DataData2 = (PropertyData | DataTypeString) + 6,
179             DataData3 = (PropertyData | DataTypeString) + 7,
180             DataData4 = (PropertyData | DataTypeString) + 8,
181             DataData5 = (PropertyData | DataTypeString) + 9,
182             DataData6 = (PropertyData | DataTypeString) + 10,
183             DataData7 = (PropertyData | DataTypeString) + 11,
184             DataData8 = (PropertyData | DataTypeString) + 12,
185             DataData9 = (PropertyData | DataTypeString) + 13,
186             DataData10 = (PropertyData | DataTypeString) + 14,
187
188             /* contact_name */
189             NameId = (PropertyName | DataTypeInt | ReadOnly),
190             NameContactId = (PropertyName | DataTypeInt) + 1,
191             NameFirst = (PropertyName | DataTypeString) + 2,
192             NameLast = (PropertyName | DataTypeString) + 3,
193             NameAddition = (PropertyName | DataTypeString) + 4,
194             NameSuffix = (PropertyName | DataTypeString) + 5,
195             NamePrefix = (PropertyName | DataTypeString) + 6,
196             NamePhoneticFirst = (PropertyName | DataTypeString) + 7,
197             NamePhoneticMiddle = (PropertyName | DataTypeString) + 8,
198             NamePhoneticLast = (PropertyName | DataTypeString) + 9,
199
200             /* contact_number */
201             NumberId = (PropertyNumber | DataTypeInt | ReadOnly),
202             NumberContactId = (PropertyNumber | DataTypeInt) + 1,
203             NumberType = (PropertyNumber | DataTypeInt) + 2,
204             NumberLabel = (PropertyNumber | DataTypeString) + 3,
205             NumberIsDefault = (PropertyNumber | DataTypeBool) + 4,
206             NumberNumber = (PropertyNumber | DataTypeString) + 5,
207             NumberNumberFilter = (PropertyNumber | DataTypeString) + 6,
208             NumberNormalizedNumber = (PropertyNumber | DataTypeString | ReadOnly) + 7,
209             NumberCleanedNumber = (PropertyNumber | DataTypeString | ReadOnly) + 8,
210
211             /* contact_email */
212             EmailId = (PropertyEmail | DataTypeInt | ReadOnly),
213             EmailContactId = (PropertyEmail | DataTypeInt) + 1,
214             EmailType = (PropertyEmail | DataTypeInt) + 2,
215             EmailLabel = (PropertyEmail | DataTypeString) + 3,
216             EmailIsDefault = (PropertyEmail | DataTypeBool) + 4,
217             EmailEmail = (PropertyEmail | DataTypeString) + 5,
218
219             /* contact_address */
220             AddressId = (PropertyAddress | DataTypeInt | ReadOnly),
221             AddressContactId = (PropertyAddress | DataTypeInt) + 1,
222             AddressType = (PropertyAddress | DataTypeInt) + 2,
223             AddressLabel = (PropertyAddress | DataTypeString) + 3,
224             AddressPostbox = (PropertyAddress | DataTypeString) + 4,
225             AddressPostalCode = (PropertyAddress | DataTypeString) + 5,
226             AddressRegion = (PropertyAddress | DataTypeString) + 6,
227             AddressLocality = (PropertyAddress | DataTypeString) + 7,
228             AddressStreet = (PropertyAddress | DataTypeString) + 8,
229             AddressCountry = (PropertyAddress | DataTypeString) + 9,
230             AddressExtended = (PropertyAddress | DataTypeString) + 10,
231             AddressIsDefault = (PropertyAddress | DataTypeBool) + 11,
232
233             /* contact_url */
234             UrlId = (PropertyUrl | DataTypeInt | ReadOnly),
235             UrlContactId = (PropertyUrl | DataTypeInt) + 1,
236             UrlType = (PropertyUrl | DataTypeInt) + 2,
237             UrlLabel = (PropertyUrl | DataTypeString) + 3,
238             UrlUrl = (PropertyUrl | DataTypeString) + 4,
239
240             /* contact_event */
241             EventId = (PropertyEvent | DataTypeInt | ReadOnly),
242             EventContactId = (PropertyEvent | DataTypeInt) + 1,
243             EventType = (PropertyEvent | DataTypeInt) + 2,
244             EventLabel = (PropertyEvent | DataTypeString) + 3,
245             EventDate = (PropertyEvent | DataTypeInt) + 4,
246             EventCalendarType = (PropertyEvent | DataTypeInt) + 5,
247             EventIsLeapMonth = (PropertyEvent | DataTypeBool) + 6,
248
249             /* contact_grouprelation */
250             GroupRelationId = (PropertyGroupRelation | DataTypeInt | ReadOnly),
251             GroupRelationGroupId = (PropertyGroupRelation | DataTypeInt) + 1,
252             GroupRelationContactId = (PropertyGroupRelation | DataTypeInt) + 2,
253             GroupRelationGroupName = (PropertyGroupRelation | DataTypeString) + 3,
254
255             /* contact_relationship */
256             RelationshipId = (PropertyRelationship | DataTypeInt | ReadOnly),
257             RelationshipContactId = (PropertyRelationship | DataTypeInt) + 1,
258             RelationshipType = (PropertyRelationship | DataTypeInt) + 2,
259             RelationshipLabel = (PropertyRelationship | DataTypeString) + 3,
260             RelationshipName = (PropertyRelationship | DataTypeString) + 4,
261
262             /* contact_image */
263             ImageId = (PropertyImage | DataTypeInt | ReadOnly),
264             ImageContactId = (PropertyImage | DataTypeInt) + 1,
265             ImageType = (PropertyImage | DataTypeInt) + 2,
266             ImageLabel = (PropertyImage | DataTypeString) + 3,
267             ImagePath = (PropertyImage | DataTypeString) + 4,
268             ImageIsDefault = (PropertyImage | DataTypeBool) + 5,
269
270             /* contact_company */
271             CompanyId = (PropertyCompany | DataTypeInt | ReadOnly),
272             CompanyContactId = (PropertyCompany | DataTypeInt) + 1,
273             CompanyType = (PropertyCompany | DataTypeInt) + 2,
274             CompanyLabel = (PropertyCompany | DataTypeString) + 3,
275             CompanyName = (PropertyCompany | DataTypeString) + 4,
276             CompanyDepartment = (PropertyCompany | DataTypeString) + 5,
277             CompanyJobTitle = (PropertyCompany | DataTypeString) + 6,
278             CompanyRole = (PropertyCompany | DataTypeString) + 7,
279             CompanyAssistantName = (PropertyCompany | DataTypeString) + 8,
280             CompanyLogo = (PropertyCompany | DataTypeString) + 9,
281             CompanyLocation = (PropertyCompany | DataTypeString) + 10,
282             CompanyDescription = (PropertyCompany | DataTypeString) + 11,
283             CompanyPhoneticName = (PropertyCompany | DataTypeString) + 12,
284
285             /* contact_nickname */
286             NicknameId = (PropertyNickname | DataTypeInt | ReadOnly),
287             NicknameContactId = (PropertyNickname | DataTypeInt) + 1,
288             NicknameName = (PropertyNickname | DataTypeString) + 2,
289
290             /* contact_messenger */
291             MessengerId = (PropertyMessenger | DataTypeInt | ReadOnly),
292             MessengerContactId = (PropertyMessenger | DataTypeInt) + 1,
293             MessengerType = (PropertyMessenger | DataTypeInt) + 2,
294             MessengerLabel = (PropertyMessenger | DataTypeString) + 3,
295             MessengerIMId = (PropertyMessenger | DataTypeString) + 4,
296
297             /* contact_note */
298             NoteId = (PropertyNote | DataTypeInt | ReadOnly),
299             NoteContactId = (PropertyNote | DataTypeInt) + 1,
300             NoteNote = (PropertyNote | DataTypeString) + 2,
301
302             /* contact sip */
303             SipId = (PropertySip | DataTypeInt | ReadOnly),
304             SipContactId = (PropertySip | DataTypeInt) + 1,
305             SipAddress = (PropertySip | DataTypeString) + 2,
306             SipType = (PropertySip | DataTypeInt) + 3,
307             SipLabel = (PropertySip | DataTypeString) + 4,
308
309             /* contact_profile */
310             ProfileId = (PropertyProfile | DataTypeInt | ReadOnly),
311             ProfileContactId = (PropertyProfile | DataTypeInt) + 1,
312             ProfileUid = (PropertyProfile | DataTypeString) + 2,
313             ProfileText = (PropertyProfile | DataTypeString) + 3,
314             ProfileOrder = (PropertyProfile | DataTypeInt) + 4,
315             ProfileServiceOperation = (PropertyProfile | DataTypeString) + 5,
316             ProfileMIME = (PropertyProfile | DataTypeString) + 6,
317             ProfileAppId = (PropertyProfile | DataTypeString) + 7,
318             ProfileUri = (PropertyProfile | DataTypeString) + 8,
319             ProfileCategory = (PropertyProfile | DataTypeString) + 9,
320             ProfileExtraData = (PropertyProfile | DataTypeString) + 10,
321
322             ExtensionId = (PropertyExtension | DataTypeInt | ReadOnly),
323             ExtensionContactId = (PropertyExtension | DataTypeInt) +1,
324             ExtensionData1 = (PropertyExtension | DataTypeInt) +2,
325             ExtensionData2 = (PropertyExtension | DataTypeString) +3,
326             ExtensionData3 = (PropertyExtension | DataTypeString) +4,
327             ExtensionData4 = (PropertyExtension | DataTypeString) +5,
328             ExtensionData5 = (PropertyExtension | DataTypeString) +6,
329             ExtensionData6 = (PropertyExtension | DataTypeString) +7,
330             ExtensionData7 = (PropertyExtension | DataTypeString) +8,
331             ExtensionData8 = (PropertyExtension | DataTypeString) +9,
332             ExtensionData9 = (PropertyExtension | DataTypeString) +10,
333             ExtensionData10 = (PropertyExtension | DataTypeString) +11,
334             ExtensionData11 = (PropertyExtension | DataTypeString) +12,
335             ExtensionData12 = (PropertyExtension | DataTypeString) +13,
336
337             /* speeddial */
338             SpeedDialDialNumber = (PropertySpeedDial | DataTypeInt),
339             SpeedDialNumberId = (PropertySpeedDial | DataTypeInt) +1,
340             SpeedDialNumber = (PropertySpeedDial | DataTypeString | ReadOnly) +2,
341             SpeedDialNumberLabel = (PropertySpeedDial | DataTypeString | ReadOnly) +3,
342             SpeedDialNumberType = (PropertySpeedDial | DataTypeInt | ReadOnly) +4,
343             SpeedDialPersonId = (PropertySpeedDial | DataTypeInt | ReadOnly) +5,
344             SpeedDialDisplayName = (PropertySpeedDial | DataTypeString | ReadOnly) +6,
345             SpeedDialThumbnail = (PropertySpeedDial | DataTypeString | ReadOnly) +7,
346             SpeedDialNormalizedNumber = (PropertySpeedDial | DataTypeString | ReadOnly) +8,
347             SpeedDialCleanedNumber = (PropertySpeedDial | DataTypeString | ReadOnly) +9,
348             SpeedDialNumberFilter = (PropertySpeedDial | DataTypeString | ReadOnly) +10,
349
350             /* phonelog */
351             PhonelogId = (PropertyPhonelog | DataTypeInt | ReadOnly),
352             PhonelogPersonId = (PropertyPhonelog | DataTypeInt) + 1,
353             PhonelogAddress = (PropertyPhonelog | DataTypeString) + 2,
354             PhonelogLogTime = (PropertyPhonelog | DataTypeInt) + 3,
355             PhonelogLogType = (PropertyPhonelog | DataTypeInt) + 4,
356             PhonelogExtraData1 = (PropertyPhonelog | DataTypeInt) + 5,   /* duration, message_id, email_id */
357             PhonelogExtraData2 = (PropertyPhonelog | DataTypeString) + 6,   /* short message, subject */
358             PhonelogNormalizedAddress = (PropertyPhonelog | DataTypeString | ReadOnly) + 7,   /* for search by calllog number */
359             PhonelogCleanedAddress = (PropertyPhonelog | DataTypeString | ReadOnly) + 8,   /* for search by calllog number */
360             PhonelogAddressFilter = (PropertyPhonelog | DataTypeString | ReadOnly) + 9,   /* for search by calllog number */
361             PhonelogSIMSlotNo = (PropertyPhonelog | DataTypeInt) + 10,
362
363             /* phonelog_stat */
364             PhonelogStatLogCount = (PropertyPhonelogStat | DataTypeInt | ReadOnly),
365             PhonelogStatLogType = (PropertyPhonelogStat | DataTypeInt | ReadOnly) + 1,
366             PhonelogStatSIMSlotNo = (PropertyPhonelogStat | DataTypeInt | ReadOnly) + 2,
367
368             /* updated_info : read only */
369             UpdateInfoId = (PropertyUpdateInfo | DataTypeInt),
370             UpdateInfoAddressbookId = (PropertyUpdateInfo | DataTypeInt) +1,
371             UpdateInfoType = (PropertyUpdateInfo | DataTypeInt) +2,
372             UpdateInfoVersion = (PropertyUpdateInfo | DataTypeInt) +3,
373             UpdateInfoImageChanged = (PropertyUpdateInfo | DataTypeBool) +4,
374             UpdateInfoLastChangedType = (PropertyUpdateInfo | DataTypeInt)+5,   /* now, it is used for _contacts_my_profile_updated_info */
375         }
376
377         /// <summary>
378         /// Enumeration for contact change state.
379         /// </summary>
380         public enum ChangeTypes
381         {
382             /// <summary>
383             /// Inserted
384             /// </summary>
385             Inserted,
386             /// <summary>
387             /// Updated
388             /// </summary>
389             Updated,
390             /// <summary>
391             /// Deleted
392             /// </summary>
393             Deleted,
394         }
395
396         internal const uint AverageSizeOfRecord = 120;  /* average size of person record */
397
398         /// <summary>
399         /// Describes properies of a Address book record.
400         /// </summary>
401         public static class Addressbook
402         {
403             /// <summary>
404             /// Identifier of this contacts addressbook view
405             /// </summary>
406             public const string Uri = "tizen.contacts_view.addressbook";
407             /// <summary>
408             /// integer, read only,  DB record ID of the addressbook
409             /// </summary>
410             public const uint Id = (uint)PropertyIds.AddressbookId;
411             /// <summary>
412             /// integer, read/write once, Account ID that the addressbook belongs to
413             /// </summary>
414             public const uint AccountId = (uint)PropertyIds.AddressbookAccountId;
415             /// <summary>
416             /// string, read/write, It cannot be NULL. Duplicate names are not allowed.
417             /// </summary>
418             public const uint Name = (uint)PropertyIds.AddressbookName;
419             /// <summary>
420             /// integer, read/write, Addressbook mode, refer to the Modes
421             /// </summary>
422             public const uint Mode = (uint)PropertyIds.AddressbookMode;
423
424             /// <summary>
425             /// Enumeration for Address book mode.
426             /// </summary>
427             public enum Modes
428             {
429                 /// <summary>
430                 /// All module can read and write contacts of this address_book
431                 /// </summary>
432                 None,
433                 /// <summary>
434                 /// All module can only read contacts of this address_book
435                 /// </summary>
436                 ReadOnly,
437             }
438         }
439
440         /// <summary>
441         /// Describes properies of a Group record.
442         /// </summary>
443         public static class Group
444         {
445             /// <summary>
446             /// Identifier of this contacts group view
447             /// </summary>
448             public const string Uri = "tizen.contacts_view.group";
449             /// <summary>
450             /// DB record ID of the group
451             /// </summary>
452             public const uint Id = (uint)PropertyIds.GroupId;
453             /// <summary>
454             /// Addressbook ID that the group belongs to
455             /// </summary>
456             public const uint AddressbookId = (uint)PropertyIds.GroupAddressbookId;
457             /// <summary>
458             /// Group name
459             /// </summary>
460             public const uint Name = (uint)PropertyIds.GroupName;
461             /// <summary>
462             /// Ringtone path of the group
463             /// </summary>
464             public const uint RingtonePath = (uint)PropertyIds.GroupRingtone;
465             /// <summary>
466             /// Image path of the group
467             /// </summary>
468             public const uint ImagePath = (uint)PropertyIds.GroupImage;
469             /// <summary>
470             /// Vibration path of the group
471             /// </summary>
472             public const uint Vibration = (uint)PropertyIds.GroupVibration;
473             /// <summary>
474             /// Extra data for default group name
475             /// </summary>
476             public const uint ExtraData = (uint)PropertyIds.GroupExtraData;
477             /// <summary>
478             /// The group is read only or not
479             /// </summary>
480             public const uint IsReadOnly = (uint)PropertyIds.GroupIsReadOnly;
481             /// <summary>
482             /// Message alert path of the group
483             /// </summary>
484             public const uint MessageAlert = (uint)PropertyIds.GroupMessageAlert;
485         }
486
487         /// <summary>
488         /// Describes properies of a Person record.
489         /// </summary>
490         public static class Person
491         {
492             /// <summary>
493             /// Identifier of this contacts person view
494             /// </summary>
495             public const string Uri = "tizen.contacts_view.person";
496             /// <summary>
497             /// DB record ID of the person
498             /// </summary>
499             public const uint Id = (uint)PropertyIds.PersonId;
500             /// <summary>
501             /// Display name of the person
502             /// </summary>
503             public const uint DisplayName = (uint)PropertyIds.PersonDisplayName;
504             /// <summary>
505             /// The first character of first string for grouping. This is normalized using icu (projection)
506             /// </summary>
507             public const uint DisplayNameIndex = (uint)PropertyIds.PersonDisplayNameIndex;
508             /// <summary>
509             /// Display contact ID that the person belongs to
510             /// </summary>
511             public const uint DisplayContactId = (uint)PropertyIds.PersonDisplayContactId;
512             /// <summary>
513             /// Ringtone path of the person
514             /// </summary>
515             public const uint RingtonePath = (uint)PropertyIds.PersonRingtone;
516             /// <summary>
517             /// Image thumbnail path of the person
518             /// </summary>
519             public const uint ThumbnailPath = (uint)PropertyIds.PersonThumbnail;
520             /// <summary>
521             /// Vibration path of the person
522             /// </summary>
523             public const uint Vibration = (uint)PropertyIds.PersonVibration;
524             /// <summary>
525             /// Message alert path of the person
526             /// </summary>
527             public const uint MessageAlert = (uint)PropertyIds.PersonMessageAlert;
528             /// <summary>
529             /// Status of social account
530             /// </summary>
531             public const uint Status = (uint)PropertyIds.PersonStatus;
532             /// <summary>
533             /// The person is favorite or not
534             /// </summary>
535             public const uint IsFavorite = (uint)PropertyIds.PersonIsFavorite;
536             /// <summary>
537             /// The priority of favorite contacts. it can be used as sorting key
538             /// </summary>
539             public const uint FavoritePriority = (uint)PropertyIds.PersonFavoritePriority;
540             /// <summary>
541             /// Link count of contact records (projection)
542             /// </summary>
543             public const uint LinkCount = (uint)PropertyIds.PersonLinkCount;
544             /// <summary>
545             /// Addressbook IDs that the person belongs to (projection)
546             /// </summary>
547             public const uint AddressbookIds = (uint)PropertyIds.PersonAddressbookIds;
548             /// <summary>
549             /// The person has phone number or not
550             /// </summary>
551             public const uint HasPhoneNumber = (uint)PropertyIds.PersonHasPhoneNumber;
552             /// <summary>
553             /// The person has email or not
554             /// </summary>
555             public const uint HasEmail = (uint)PropertyIds.PersonHasEmail;
556             /// <summary>
557             /// kerword matched data type
558             /// </summary>
559             public const uint SnippetType = (uint)PropertyIds.PersonSnippetType;
560             /// <summary>
561             /// keyword matched data string
562             /// </summary>
563             public const uint SnippetString = (uint)PropertyIds.PersonSnippetString;
564         }
565
566         /// <summary>
567         /// Describes properies of a Contact record.
568         /// </summary>
569         public static class Contact
570         {
571             /// <summary>
572             /// Identifier of this contact view
573             /// </summary>
574             public const string Uri = "tizen.contacts_view.contact";
575             /// <summary>
576             /// DB record ID of the contact
577             /// </summary>
578             public const uint Id = (uint)PropertyIds.ContactId;
579             /// <summary>
580             /// Display name of the contact
581             /// </summary>
582             public const uint DisplayName = (uint)PropertyIds.ContactDisplayName;
583             /// <summary>
584             /// The source type of display name, refer to the DisplayNameSourceTypes
585             /// </summary>
586             public const uint DisplaySourceType = (uint)PropertyIds.ContactDisplaySourceDataId;
587             /// <summary>
588             /// Addressbook ID that the contact belongs to
589             /// </summary>
590             public const uint AddressbookId = (uint)PropertyIds.ContactAddressbookId;
591             /// <summary>
592             /// Ringtone path of the contact
593             /// </summary>
594             public const uint RingtonePath = (uint)PropertyIds.ContactRingtone;
595             /// <summary>
596             /// Image thumbnail path of the contact
597             /// </summary>
598             public const uint ThumbnailPath = (uint)PropertyIds.ContactThumbnail;
599             /// <summary>
600             /// The contact is favorite or not
601             /// </summary>
602             public const uint IsFavorite = (uint)PropertyIds.ContactIsFavorite;
603             /// <summary>
604             /// The contact has phone number or not
605             /// </summary>
606             public const uint HasPhoneNumber = (uint)PropertyIds.ContactHasPhoneNumber;
607             /// <summary>
608             /// The contact has email or not
609             /// </summary>
610             public const uint HasEmail = (uint)PropertyIds.ContactHasEmail;
611             /// <summary>
612             /// Person ID that the contact belongs to. If set when inserting, a contact will be linked to person
613             /// </summary>
614             public const uint PersonId = (uint)PropertyIds.ContactPersonId;
615             /// <summary>
616             /// Unique identifier
617             /// </summary>
618             public const uint Uid = (uint)PropertyIds.ContactUid;
619             /// <summary>
620             /// Vibration path of the contact
621             /// </summary>
622             public const uint Vibration = (uint)PropertyIds.ContactVibration;
623             /// <summary>
624             /// Message alert path of the contact
625             /// </summary>
626             public const uint MessageAlert = (uint)PropertyIds.ContactMessageAlert;
627             /// <summary>
628             /// Last changed contact time
629             /// </summary>
630             public const uint ChangedTime = (uint)PropertyIds.ContactChangedTime;
631             /// <summary>
632             /// The link mode, refer to the LinkModes. If the person_id was set, this value will be ignored
633             /// </summary>
634             public const uint LinkMode = (uint)PropertyIds.ContactLinkMode;
635             /// <summary>
636             /// Name child record (single)
637             /// </summary>
638             public const uint Name = (uint)PropertyIds.ContactName;
639             /// <summary>
640             /// Company child record (multiple)
641             /// </summary>
642             public const uint Company = (uint)PropertyIds.ContactCompany;
643             /// <summary>
644             /// Note child record (multiple)
645             /// </summary>
646             public const uint Note = (uint)PropertyIds.ContactNote;
647             /// <summary>
648             /// Number child record (multiple)
649             /// </summary>
650             public const uint Number = (uint)PropertyIds.ContactNumber;
651             /// <summary>
652             /// Email child record (multiple)
653             /// </summary>
654             public const uint Email = (uint)PropertyIds.ContactEmail;
655             /// <summary>
656             /// Event child record (multiple)
657             /// </summary>
658             public const uint Event = (uint)PropertyIds.ContactEvent;
659             /// <summary>
660             /// Messenger child record (multiple)
661             /// </summary>
662             public const uint Messenger = (uint)PropertyIds.ContactMessenger;
663             /// <summary>
664             /// Address child record (multiple)
665             /// </summary>
666             public const uint Address = (uint)PropertyIds.ContactAddress;
667             /// <summary>
668             /// Url child record (multiple)
669             /// </summary>
670             public const uint Url = (uint)PropertyIds.ContactUrl;
671             /// <summary>
672             /// Nickname child record (multiple)
673             /// </summary>
674             public const uint Nickname = (uint)PropertyIds.ContactNickname;
675             /// <summary>
676             /// Profile child record (multiple)
677             /// </summary>
678             public const uint Profile = (uint)PropertyIds.ContactProfile;
679             /// <summary>
680             /// Relationship child record (multiple)
681             /// </summary>
682             public const uint Relationship = (uint)PropertyIds.ContactRelationship;
683             /// <summary>
684             /// Image child record (multiple)
685             /// </summary>
686             public const uint Image = (uint)PropertyIds.ContactImage;
687             /// <summary>
688             /// GroupRelation child record (multiple)
689             /// </summary>
690             public const uint GroupRelation = (uint)PropertyIds.ContactGroupRelation;
691             /// <summary>
692             /// Extension child record (multiple)
693             /// </summary>
694             public const uint Extension = (uint)PropertyIds.ContactExtension;
695             /// <summary>
696             /// Sip child record (multiple)
697             /// </summary>
698             public const uint Sip = (uint)PropertyIds.ContactSip;
699
700             /// <summary>
701             /// Enumeration for link mode when inserting contact.
702             /// </summary>
703             public enum LinkModes
704             {
705                 /// <summary>
706                 /// Auto link immediately
707                 /// </summary>
708                 Auto,
709                 /// <summary>
710                 /// Do not auto link when the contact is inserted
711                 /// </summary>
712                 None
713             }
714
715             /// <summary>
716             /// Enumeration for Contact display name source type.
717             /// </summary>
718             public enum DisplayNameSourceTypes
719             {
720                 /// <summary>
721                 /// Invalid source of display name
722                 /// </summary>
723                 Invalid,
724                 /// <summary>
725                 /// Produced display name from email record
726                 /// </summary>
727                 Email,
728                 /// <summary>
729                 /// Produced display name from number record
730                 /// </summary>
731                 Number,
732                 /// <summary>
733                 /// Produced display name from nickname record
734                 /// </summary>
735                 Nickname,
736                 /// <summary>
737                 /// Produced display name from company record
738                 /// </summary>
739                 Company,
740                 /// <summary>
741                 /// Produced display name from name record
742                 /// </summary>
743                 Name,
744             }
745
746             /// <summary>
747             /// Enumeration for contacts data type.
748             /// </summary>
749             public enum DataTypes
750             {
751                 Name = 1,
752                 Address = 2,
753                 Messenger = 3,
754                 Url = 4,
755                 Event = 5,
756                 Company = 6,
757                 Nickname = 7,
758                 Number = 8,
759                 Email = 9,
760                 Profile = 10,
761                 Relationsip = 11,
762                 Note = 12,
763                 Image = 13,
764                 Sip = 14,
765                 Extension = 100
766             }
767         }
768
769         /// <summary>
770         /// Describes properies of a Simple contact record.
771         /// </summary>
772         public static class SimpleContact
773         {
774             /// <summary>
775             /// Identifier of this simple contact view
776             /// </summary>
777             public const string Uri = "tizen.contacts_view.simple_contact";
778             /// <summary>
779             /// DB record ID of the contact
780             /// </summary>
781             public const uint Id = (uint)PropertyIds.ContactId;
782             /// <summary>
783             /// Display name of the contact
784             /// </summary>
785             public const uint DisplayName = (uint)PropertyIds.ContactDisplayName;
786             /// <summary>
787             /// The source type of display name, refer to the Contact.DisplayNameSourceTypes
788             /// </summary>
789             public const uint DisplaySourceType = (uint)PropertyIds.ContactDisplaySourceDataId;
790             /// <summary>
791             /// Addressbook that the contact belongs to
792             /// </summary>
793             public const uint AddressbookId = (uint)PropertyIds.ContactAddressbookId;
794             /// <summary>
795             /// Ringtone path of the contact
796             /// </summary>
797             public const uint RingtonePath = (uint)PropertyIds.ContactRingtone;
798             /// <summary>
799             /// Image thumbnail path of the contact
800             /// </summary>
801             public const uint ThumbnailPath = (uint)PropertyIds.ContactThumbnail;
802             /// <summary>
803             /// The contact is favorite or not
804             /// </summary>
805             public const uint IsFavorite = (uint)PropertyIds.ContactIsFavorite;
806             /// <summary>
807             /// The contact has phone number or not
808             /// </summary>
809             public const uint HasPhoneNumber = (uint)PropertyIds.ContactHasPhoneNumber;
810             /// <summary>
811             /// The contact has email or not
812             /// </summary>
813             public const uint HasEmail = (uint)PropertyIds.ContactHasEmail;
814             /// <summary>
815             /// Person ID that the contact belongs to
816             /// </summary>
817             public const uint PersonId = (uint)PropertyIds.ContactPersonId;
818             /// <summary>
819             /// Unique identifier
820             /// </summary>
821             public const uint Uid = (uint)PropertyIds.ContactUid;
822             /// <summary>
823             /// Vibration path of the contact
824             /// </summary>
825             public const uint Vibration = (uint)PropertyIds.ContactVibration;
826             /// <summary>
827             /// Message alert path of the contact
828             /// </summary>
829             public const uint MessageAlert = (uint)PropertyIds.ContactMessageAlert;
830             /// <summary>
831             /// Last changed contact time
832             /// </summary>
833             public const uint ChangedTime = (uint)PropertyIds.ContactChangedTime;
834         }
835
836         /// <summary>
837         /// Describes properies of a My profile record.
838         /// </summary>
839         public static class MyProfile
840         {
841             /// <summary>
842             /// Identifier of this my profile view
843             /// </summary>
844             public const string Uri = "tizen.contacts_view.my_profile";
845             /// <summary>
846             /// DB record ID of the my profile
847             /// </summary>
848             public const uint Id = (uint)PropertyIds.MyProfileId;
849             /// <summary>
850             /// Display name of the profile
851             /// </summary>
852             public const uint DisplayName = (uint)PropertyIds.MyProfileDisplayName;
853             /// <summary>
854             /// Addressbook ID that the profile belongs to
855             /// </summary>
856             public const uint AddressbookId = (uint)PropertyIds.MyProfileAddressbookId;
857             /// <summary>
858             /// Image thumbnail path of the profile
859             /// </summary>
860             public const uint ThumbnailPath = (uint)PropertyIds.MyProfileThumbnail;
861             /// <summary>
862             /// Unique identifier
863             /// </summary>
864             public const uint Uid = (uint)PropertyIds.MyProfileUid;
865             /// <summary>
866             /// Last changed profile time
867             /// </summary>
868             public const uint ChangedTime = (uint)PropertyIds.MyProfileChangedTime;
869             /// <summary>
870             /// Name child record (single)
871             /// </summary>
872             public const uint Name = (uint)PropertyIds.MyProfileName;
873             /// <summary>
874             /// Company child record (multiple)
875             /// </summary>
876             public const uint Company = (uint)PropertyIds.MyProfileCompany;
877             /// <summary>
878             /// Note child record (multiple)
879             /// </summary>
880             public const uint Note = (uint)PropertyIds.MyProfileNote;
881             /// <summary>
882             /// Number child record (multiple)
883             /// </summary>
884             public const uint Number = (uint)PropertyIds.MyProfileNumber;
885             /// <summary>
886             /// Email child record (multiple)
887             /// </summary>
888             public const uint Email = (uint)PropertyIds.MyProfileEmail;
889             /// <summary>
890             /// Event child record (multiple)
891             /// </summary>
892             public const uint Event = (uint)PropertyIds.MyProfileEvent;
893             /// <summary>
894             /// Messenger child record (multiple)
895             /// </summary>
896             public const uint Messenger = (uint)PropertyIds.MyProfileMessenger;
897             /// <summary>
898             /// Address child record (multiple)
899             /// </summary>
900             public const uint Address = (uint)PropertyIds.MyProfileAddress;
901             /// <summary>
902             /// Url child record (multiple)
903             /// </summary>
904             public const uint Url = (uint)PropertyIds.MyProfileUrl;
905             /// <summary>
906             /// Nickname child record (multiple)
907             /// </summary>
908             public const uint Nickname = (uint)PropertyIds.MyProfileNickname;
909             /// <summary>
910             /// Profile child record (multiple)
911             /// </summary>
912             public const uint Profile = (uint)PropertyIds.MyProfileProfile;
913             /// <summary>
914             /// Relationship child record (multiple)
915             /// </summary>
916             public const uint Relationship = (uint)PropertyIds.MyProfileRelationship;
917             /// <summary>
918             /// Image child record (multiple)
919             /// </summary>
920             public const uint Image = (uint)PropertyIds.MyProfileImage;
921             /// <summary>
922             /// Extension child record (multiple)
923             /// </summary>
924             public const uint Extension = (uint)PropertyIds.MyProfileExtension;
925             /// <summary>
926             /// Sip child record (multiple)
927             /// </summary>
928             public const uint Sip = (uint)PropertyIds.MyProfileSip;
929         }
930
931         /// <summary>
932         /// Describes properies of a Name record.
933         /// </summary>
934         public static class Name
935         {
936             /// <summary>
937             /// Identifier of this contacts name view
938             /// </summary>
939             public const string Uri = "tizen.contacts_view.name";
940             /// <summary>
941             /// DB record ID of the name
942             /// </summary>
943             public const uint Id = (uint)PropertyIds.NameId;
944             /// <summary>
945             /// Contacts ID that the name record belongs to
946             /// </summary>
947             public const uint ContactId = (uint)PropertyIds.NameContactId;
948             /// <summary>
949             /// First name
950             /// </summary>
951             public const uint First = (uint)PropertyIds.NameFirst;
952             /// <summary>
953             /// Last name
954             /// </summary>
955             public const uint Last = (uint)PropertyIds.NameLast;
956             /// <summary>
957             /// Middle name
958             /// </summary>
959             public const uint Addition = (uint)PropertyIds.NameAddition;
960             /// <summary>
961             /// Suffix
962             /// </summary>
963             public const uint Suffix = (uint)PropertyIds.NameSuffix;
964             /// <summary>
965             /// Prefix
966             /// </summary>
967             public const uint Prefix = (uint)PropertyIds.NamePrefix;
968             /// <summary>
969             /// Pronounce the first name
970             /// </summary>
971             public const uint PhoneticFirst = (uint)PropertyIds.NamePhoneticFirst;
972             /// <summary>
973             /// Pronounce the middle name
974             /// </summary>
975             public const uint PhoneticMiddle = (uint)PropertyIds.NamePhoneticMiddle;
976             /// <summary>
977             /// Pronounce the last name
978             /// </summary>
979             public const uint PhoneticLast = (uint)PropertyIds.NamePhoneticLast;
980         }
981
982         /// <summary>
983         /// Describes properies of a Number record.
984         /// </summary>
985         public static class Number
986         {
987             /// <summary>
988             /// Identifier of this contacts number view
989             /// </summary>
990             public const string Uri = "tizen.contacts_view.number";
991             /// <summary>
992             /// DB record ID of the number
993             /// </summary>
994             public const uint Id = (uint)PropertyIds.NumberId;
995             /// <summary>
996             /// Contact ID that the number belongs to
997             /// </summary>
998             public const uint ContactId = (uint)PropertyIds.NumberContactId;
999             /// <summary>
1000             /// Number type, refer to the Types
1001             /// </summary>
1002             public const uint Type = (uint)PropertyIds.NumberType;
1003             /// <summary>
1004             /// Custom number type label, when the number type is Types.Custom
1005             /// </summary>
1006             public const uint Label = (uint)PropertyIds.NumberLabel;
1007             /// <summary>
1008             /// The number is default number or not
1009             /// </summary>
1010             public const uint IsDefault = (uint)PropertyIds.NumberIsDefault;
1011             /// <summary>
1012             /// Number
1013             /// </summary>
1014             public const uint NumberData = (uint)PropertyIds.NumberNumber;
1015             /// <summary>
1016             /// You can only use this property for search filter.
1017             /// </summary>
1018             public const uint NormalizedNumber = (uint)PropertyIds.NumberNormalizedNumber;
1019             /// <summary>
1020             /// You can only use this property for search filter.
1021             /// </summary>
1022             public const uint CleanedNumber = (uint)PropertyIds.NumberCleanedNumber;
1023             /// <summary>
1024             /// You can only use this property for search filter.
1025             /// </summary>
1026             public const uint NumberFilter = (uint)PropertyIds.NumberNumberFilter;
1027
1028             /// <summary>
1029             /// Enumeration for number type.
1030             /// </summary>
1031             public enum Types
1032             {
1033                 /// <summary>
1034                 /// Other number type
1035                 /// </summary>
1036                 Other = 0,
1037                 /// <summary>
1038                 /// Custom number type
1039                 /// </summary>
1040                 Custom = 1 << 0,
1041                 /// <summary>
1042                 /// A telephone number associated with a residence
1043                 /// </summary>
1044                 Home = 1 << 1,
1045                 /// <summary>
1046                 /// A telephone number associated with a place of work
1047                 /// </summary>
1048                 Work = 1 << 2,
1049                 /// <summary>
1050                 /// A voice telephone number
1051                 /// </summary>
1052                 Voice = 1 << 3,
1053                 /// <summary>
1054                 /// A facsimile telephone number
1055                 /// </summary>
1056                 Fax = 1 << 4,
1057                 /// <summary>
1058                 /// The telephone number has voice messaging support
1059                 /// </summary>
1060                 Message = 1 << 5,
1061                 /// <summary>
1062                 /// A cellular telephone number
1063                 /// </summary>
1064                 Cell = 1 << 6,
1065                 /// <summary>
1066                 /// A paging device telephone number
1067                 /// </summary>
1068                 Pager = 1 << 7,
1069                 /// <summary>
1070                 /// A bulletin board system telephone number
1071                 /// </summary>
1072                 BBS = 1 << 8,
1073                 /// <summary>
1074                 /// A MODEM connected telephone number
1075                 /// </summary>
1076                 Modem = 1 << 9,
1077                 /// <summary>
1078                 /// A car-phone telephone number
1079                 /// </summary>
1080                 Car = 1 << 10,
1081                 /// <summary>
1082                 /// An ISDN service telephone number
1083                 /// </summary>
1084                 ISDN = 1 << 11,
1085                 /// <summary>
1086                 /// A video conferencing telephone number
1087                 /// </summary>
1088                 Video = 1 << 12,
1089                 /// <summary>
1090                 /// A personal communication services telephone number
1091                 /// </summary>
1092                 PCS = 1 << 13,
1093                 /// <summary>
1094                 /// A company main number
1095                 /// </summary>
1096                 Company = 1 << 14,
1097                 /// <summary>
1098                 /// A radio phone number
1099                 /// </summary>
1100                 Radio = 1 << 15,
1101                 /// <summary>
1102                 /// An additional type for main
1103                 /// </summary>
1104                 Main = 1 << 29,
1105                 /// <summary>
1106                 /// An additional type for assistant
1107                 /// </summary>
1108                 Assistant = 1 << 30,
1109             }
1110         }
1111
1112         /// <summary>
1113         /// Describes properies of a Email record.
1114         /// </summary>
1115         public static class Email
1116         {
1117             /// <summary>
1118             /// Identifier of this contacts email view
1119             /// </summary>
1120             public const string Uri = "tizen.contacts_view.email";
1121             /// <summary>
1122             /// DB record ID of the email
1123             /// </summary>
1124             public const uint Id = (uint)PropertyIds.EmailId;
1125             /// <summary>
1126             /// Contact ID that the email belongs to
1127             /// </summary>
1128             public const uint ContactId = (uint)PropertyIds.EmailContactId;
1129             /// <summary>
1130             /// Email type, refer to the Types
1131             /// </summary>
1132             public const uint Type = (uint)PropertyIds.EmailType;
1133             /// <summary>
1134             /// Custom mail type label, when the email type is Types.Custom
1135             /// </summary>
1136             public const uint Label = (uint)PropertyIds.EmailLabel;
1137             /// <summary>
1138             /// The email is default email or not
1139             /// </summary>
1140             public const uint IsDefault = (uint)PropertyIds.EmailIsDefault;
1141             /// <summary>
1142             /// Email address
1143             /// </summary>
1144             public const uint Address = (uint)PropertyIds.EmailEmail;
1145
1146             /// <summary>
1147             /// Enumeration for Contact email type.
1148             /// </summary>
1149             public enum Types
1150             {
1151                 /// <summary>
1152                 /// Other email type
1153                 /// </summary>
1154                 Other = 0,
1155                 /// <summary>
1156                 /// Custom email type
1157                 /// </summary>
1158                 Custom = 1 << 0,
1159                 /// <summary>
1160                 /// An email address associated with a residence
1161                 /// </summary>
1162                 Home = 1 << 1,
1163                 /// <summary>
1164                 /// An email address associated with a place of work
1165                 /// </summary>
1166                 Work = 1 << 2,
1167                 /// <summary>
1168                 /// A mobile email address
1169                 /// </summary>
1170                 Mobile = 1 << 3,
1171             }
1172         }
1173
1174         /// <summary>
1175         /// Describes properies of a Address record.
1176         /// </summary>
1177         public static class Address
1178         {
1179             /// <summary>
1180             /// Identifier of this contacts address view
1181             /// </summary>
1182             public const string Uri = "tizen.contacts_view.address";
1183             /// <summary>
1184             /// DB record ID of the address
1185             /// </summary>
1186             public const uint Id = (uint)PropertyIds.AddressId;
1187             /// <summary>
1188             /// Contact ID that the address belongs to
1189             /// </summary>
1190             public const uint ContactId = (uint)PropertyIds.AddressContactId;
1191             /// <summary>
1192             /// Address type, refer to the Types
1193             /// </summary>
1194             public const uint Type = (uint)PropertyIds.AddressType;
1195             /// <summary>
1196             /// Address type label, when the address type is Types.Custom
1197             /// </summary>
1198             public const uint Label = (uint)PropertyIds.AddressLabel;
1199             /// <summary>
1200             /// Post office box
1201             /// </summary>
1202             public const uint Postbox = (uint)PropertyIds.AddressPostbox;
1203             /// <summary>
1204             /// Postal code
1205             /// </summary>
1206             public const uint PostalCode = (uint)PropertyIds.AddressPostalCode;
1207             /// <summary>
1208             /// Region
1209             /// </summary>
1210             public const uint Region = (uint)PropertyIds.AddressRegion;
1211             /// <summary>
1212             /// Locality
1213             /// </summary>
1214             public const uint Locality = (uint)PropertyIds.AddressLocality;
1215             /// <summary>
1216             /// Street
1217             /// </summary>
1218             public const uint Street = (uint)PropertyIds.AddressStreet;
1219             /// <summary>
1220             /// Country
1221             /// </summary>
1222             public const uint Country = (uint)PropertyIds.AddressCountry;
1223             /// <summary>
1224             /// Extended address
1225             /// </summary>
1226             public const uint Extended = (uint)PropertyIds.AddressExtended;
1227             /// <summary>
1228             /// The address is default or not
1229             /// </summary>
1230             public const uint IsDefault = (uint)PropertyIds.AddressIsDefault;
1231
1232             /// <summary>
1233             /// Enumeration for Contact address type.
1234             /// </summary>
1235             public enum Types
1236             {
1237                 /// <summary>
1238                 /// Other address type
1239                 /// </summary>
1240                 Other = 0,
1241                 /// <summary>
1242                 /// Custom address type
1243                 /// </summary>
1244                 Custom = 1 << 0,
1245                 /// <summary>
1246                 /// A delivery address for a residence
1247                 /// </summary>
1248                 Home = 1 << 1,
1249                 /// <summary>
1250                 /// A delivery address for a place of work
1251                 /// </summary>
1252                 Work = 1 << 2,
1253                 /// <summary>
1254                 /// A domestic delivery address
1255                 /// </summary>
1256                 Domestic = 1 << 3,
1257                 /// <summary>
1258                 /// An international delivery address
1259                 /// </summary>
1260                 International = 1 << 4,
1261                 /// <summary>
1262                 /// A postal delivery address
1263                 /// </summary>
1264                 Postal = 1 << 5,
1265                 /// <summary>
1266                 /// A parcel delivery address
1267                 /// </summary>
1268                 Parcel = 1 << 6,
1269             }
1270         }
1271
1272         /// <summary>
1273         /// Describes properies of a Note record.
1274         /// </summary>
1275         public static class Note
1276         {
1277             /// <summary>
1278             /// Identifier of this contacts note view
1279             /// </summary>
1280             public const string Uri = "tizen.contacts_view.note";
1281             /// <summary>
1282             /// DB record ID of the note
1283             /// </summary>
1284             public const uint Id = (uint)PropertyIds.NoteId;
1285             /// <summary>
1286             /// Contact ID that the note belongs to
1287             /// </summary>
1288             public const uint ContactId = (uint)PropertyIds.NoteContactId;
1289             /// <summary>
1290             /// Note contents
1291             /// </summary>
1292             public const uint Contents = (uint)PropertyIds.NoteNote;
1293         }
1294
1295         /// <summary>
1296         /// Describes properies of a Url record.
1297         /// </summary>
1298         public static class Url
1299         {
1300             /// <summary>
1301             /// Identifier of this contacts URL view
1302             /// </summary>
1303             public const string Uri = "tizen.contacts_view.url";
1304             /// <summary>
1305             /// DB record ID of the URL
1306             /// </summary>
1307             public const uint Id = (uint)PropertyIds.UrlId;
1308             /// <summary>
1309             /// Contact ID that the URL belongs to
1310             /// </summary>
1311             public const uint ContactId = (uint)PropertyIds.UrlContactId;
1312             /// <summary>
1313             /// URL type, refer to the Types
1314             /// </summary>
1315             public const uint Type = (uint)PropertyIds.UrlType;
1316             /// <summary>
1317             /// Custom URL type label, when the URL type is Types.Custom
1318             /// </summary>
1319             public const uint Label = (uint)PropertyIds.UrlLabel;
1320             /// <summary>
1321             /// URL
1322             /// </summary>
1323             public const uint UrlData = (uint)PropertyIds.UrlUrl;
1324
1325             /// <summary>
1326             /// Enumeration for Contact URL type.
1327             /// </summary>
1328             public enum Types
1329             {
1330                 /// <summary>
1331                 /// Other URL type
1332                 /// </summary>
1333                 Other,
1334                 /// <summary>
1335                 /// Custom URL type
1336                 /// </summary>
1337                 Custom,
1338                 /// <summary>
1339                 /// Home URL type
1340                 /// </summary>
1341                 Home,
1342                 /// <summary>
1343                 /// Work URL type
1344                 /// </summary>
1345                 Work,
1346             }
1347         }
1348
1349         /// <summary>
1350         /// Describes properies of a Event record.
1351         /// </summary>
1352         public static class Event
1353         {
1354             /// <summary>
1355             /// Identifier of this contacts event view
1356             /// </summary>
1357             public const string Uri = "tizen.contacts_view.event";
1358             /// <summary>
1359             /// DB record ID of the event
1360             /// </summary>
1361             public const uint Id = (uint)PropertyIds.EventId;
1362             /// <summary>
1363             /// Contact ID that the event belongs to
1364             /// </summary>
1365             public const uint ContactId = (uint)PropertyIds.EventContactId;
1366             /// <summary>
1367             /// Event type, refer to the Types
1368             /// </summary>
1369             public const uint Type = (uint)PropertyIds.EventType;
1370             /// <summary>
1371             /// Custom event type label, when the event type is Types.Custom
1372             /// </summary>
1373             public const uint Label = (uint)PropertyIds.EventLabel;
1374             /// <summary>
1375             /// Event date(YYYYMMDD). e.g. 2014/1/1 : 20140101. Even if the calendar_type is set as CONTACTS_EVENT_CALENDAR_TYPE_CHINESE, you SHOULD set Gregorian date
1376             /// </summary>
1377             public const uint Date = (uint)PropertyIds.EventDate;
1378             /// <summary>
1379             /// Calendar type, refer to the CalendarTypes
1380             /// </summary>
1381             public const uint IsLeapMonth = (uint)PropertyIds.EventIsLeapMonth;
1382
1383             /// <summary>
1384             /// Enumeration for Contact event type.
1385             /// </summary>
1386             public enum Types
1387             {
1388                 /// <summary>
1389                 /// Other event type
1390                 /// </summary>
1391                 Other,
1392                 /// <summary>
1393                 /// Custom event type
1394                 /// </summary>
1395                 Custom,
1396                 /// <summary>
1397                 /// Birthday event type
1398                 /// </summary>
1399                 Birthday,
1400                 /// <summary>
1401                 /// Anniversary event type
1402                 /// </summary>
1403                 Anniversary
1404             }
1405
1406             /// <summary>
1407             /// Enumeration for Contact event calendar type.
1408             /// </summary>
1409             public enum CalendarTypes
1410             {
1411                 /// <summary>
1412                 /// Gregorian calendar
1413                 /// </summary>
1414                 Gregorian,
1415                 /// <summary>
1416                 /// Chinese calenadr
1417                 /// </summary>
1418                 Chinese
1419             }
1420         }
1421
1422         /// <summary>
1423         /// Describes properies of a Relationship record.
1424         /// </summary>
1425         public static class Relationship
1426         {
1427             /// <summary>
1428             /// Identifier of this relationship view
1429             /// </summary>
1430             public const string Uri = "tizen.contacts_view.relationship";
1431             /// <summary>
1432             /// DB record ID of the relationship
1433             /// </summary>
1434             public const uint Id = (uint)PropertyIds.RelationshipId;
1435             /// <summary>
1436             /// Contact ID that the relationship belongs to
1437             /// </summary>
1438             public const uint ContactId = (uint)PropertyIds.RelationshipContactId;
1439             /// <summary>
1440             /// Relationship type, refer to the Types
1441             /// </summary>
1442             public const uint Type = (uint)PropertyIds.RelationshipType;
1443             /// <summary>
1444             /// Custom relationship type label, when the relationship type is Types.Custom
1445             /// </summary>
1446             public const uint Label = (uint)PropertyIds.RelationshipLabel;
1447             /// <summary>
1448             /// Selected contact name that the relationship belongs to
1449             /// </summary>
1450             public const uint Name = (uint)PropertyIds.RelationshipName;
1451
1452             /// <summary>
1453             /// Enumeration for Contact relationship type.
1454             /// </summary>
1455             public enum Types
1456             {
1457                 /// <summary>
1458                 /// Other relationship type
1459                 /// </summary>
1460                 Other,
1461                 /// <summary>
1462                 /// Assistant type
1463                 /// </summary>
1464                 Assistant,
1465                 /// <summary>
1466                 /// Brother type
1467                 /// </summary>
1468                 Brother,
1469                 /// <summary>
1470                 /// Child type
1471                 /// </summary>
1472                 Child,
1473                 /// <summary>
1474                 /// Domestic Partner type
1475                 /// </summary>
1476                 DomesticPartner,
1477                 /// <summary>
1478                 /// Father type
1479                 /// </summary>
1480                 Father,
1481                 /// <summary>
1482                 /// Friend type
1483                 /// </summary>
1484                 Friend,
1485                 /// <summary>
1486                 /// Manager type
1487                 /// </summary>
1488                 Manager,
1489                 /// <summary>
1490                 /// Mother type
1491                 /// </summary>
1492                 Mother,
1493                 /// <summary>
1494                 /// Parent type
1495                 /// </summary>
1496                 Parent,
1497                 /// <summary>
1498                 /// Partner type
1499                 /// </summary>
1500                 Partner,
1501                 /// <summary>
1502                 /// Referred by type
1503                 /// </summary>
1504                 ReferredBy,
1505                 /// <summary>
1506                 /// Relative type
1507                 /// </summary>
1508                 Relative,
1509                 /// <summary>
1510                 /// Sister type
1511                 /// </summary>
1512                 Sister,
1513                 /// <summary>
1514                 /// Spouse type
1515                 /// </summary>
1516                 Spouse,
1517                 /// <summary>
1518                 /// Custom type
1519                 /// </summary>
1520                 Custom,
1521             }
1522         }
1523
1524         /// <summary>
1525         /// Describes properies of a Image record.
1526         /// </summary>
1527         public static class Image
1528         {
1529             /// <summary>
1530             /// Identifier of this contacts image view
1531             /// </summary>
1532             public const string Uri = "tizen.contacts_view.image";
1533             /// <summary>
1534             /// DB record ID of the image
1535             /// </summary>
1536             public const uint Id = (uint)PropertyIds.ImageId;
1537             /// <summary>
1538             /// Contact ID that the image belongs to
1539             /// </summary>
1540             public const uint ContactId = (uint)PropertyIds.ImageContactId;
1541             /// <summary>
1542             /// Image type, refer to the Types
1543             /// </summary>
1544             public const uint Type = (uint)PropertyIds.ImageType;
1545             /// <summary>
1546             /// Custom image type label, when the image type is Types.Custom
1547             /// </summary>
1548             public const uint Label = (uint)PropertyIds.ImageLabel;
1549             /// <summary>
1550             /// Image thumbnail path
1551             /// </summary>
1552             public const uint Path = (uint)PropertyIds.ImagePath;
1553             /// <summary>
1554             /// The Image is default or not
1555             /// </summary>
1556             public const uint IsDefault = (uint)PropertyIds.ImageIsDefault;
1557
1558             /// <summary>
1559             /// Enumeration for Contact image type.
1560             /// </summary>
1561             public enum Types
1562             {
1563                 /// <summary>
1564                 /// Other type
1565                 /// </summary>
1566                 Other,
1567                 /// <summary>
1568                 /// Custom type
1569                 /// </summary>
1570                 Custom,
1571             }
1572         }
1573
1574         /// <summary>
1575         /// Describes properies of a Company record.
1576         /// </summary>
1577         public static class Company
1578         {
1579             /// <summary>
1580             /// Identifier of this contacts company view
1581             /// </summary>
1582             public const string Uri = "tizen.contacts_view.company";
1583             /// <summary>
1584             /// DB record ID of the company
1585             /// </summary>
1586             public const uint Id = (uint)PropertyIds.CompanyId;
1587             /// <summary>
1588             /// Contact ID that the company belongs to
1589             /// </summary>
1590             public const uint ContactId = (uint)PropertyIds.CompanyContactId;
1591             /// <summary>
1592             /// Company type, refer to the Types
1593             /// </summary>
1594             public const uint Type = (uint)PropertyIds.CompanyType;
1595             /// <summary>
1596             /// Custom company type label, when the company type is Types.Custom
1597             /// </summary>
1598             public const uint Label = (uint)PropertyIds.CompanyLabel;
1599             /// <summary>
1600             /// Company name
1601             /// </summary>
1602             public const uint Name = (uint)PropertyIds.CompanyName;
1603             /// <summary>
1604             /// Department
1605             /// </summary>
1606             public const uint Department = (uint)PropertyIds.CompanyDepartment;
1607             /// <summary>
1608             /// Job title
1609             /// </summary>
1610             public const uint JobTitle = (uint)PropertyIds.CompanyJobTitle;
1611             /// <summary>
1612             /// Assistant name
1613             /// </summary>
1614             public const uint AssistantName = (uint)PropertyIds.CompanyAssistantName;
1615             /// <summary>
1616             /// Role
1617             /// </summary>
1618             public const uint Role = (uint)PropertyIds.CompanyRole;
1619             /// <summary>
1620             /// Company logo image file path
1621             /// </summary>
1622             public const uint Logo = (uint)PropertyIds.CompanyLogo;
1623             /// <summary>
1624             /// Company location
1625             /// </summary>
1626             public const uint Location = (uint)PropertyIds.CompanyLocation;
1627             /// <summary>
1628             /// Description
1629             /// </summary>
1630             public const uint Description = (uint)PropertyIds.CompanyDescription;
1631             /// <summary>
1632             /// Pronounce the company name
1633             /// </summary>
1634             public const uint PhoneticName = (uint)PropertyIds.CompanyPhoneticName;
1635
1636             /// <summary>
1637             /// Enumeration for Contact company type.
1638             /// </summary>
1639             public enum Types
1640             {
1641                 Other = 0, /**< Other company type */
1642                 Custom = 1 << 0, /**< Custom company type */
1643                 Work = 1 << 1, /**< Work company type */
1644             }
1645         }
1646
1647         /// <summary>
1648         /// Describes properies of a Nickname record.
1649         /// </summary>
1650         public static class Nickname
1651         {
1652             /// <summary>
1653             /// Identifier of this contacts nickname view
1654             /// </summary>
1655             public const string Uri = "tizen.contacts_view.nickname";
1656             /// <summary>
1657             /// DB record ID of the nickname
1658             /// </summary>
1659             public const uint Id = (uint)PropertyIds.NicknameId;
1660             /// <summary>
1661             /// Contact ID that the nickname belongs to
1662             /// </summary>
1663             public const uint ContactId = (uint)PropertyIds.NicknameContactId;
1664             /// <summary>
1665             /// Nickname
1666             /// </summary>
1667             public const uint Name = (uint)PropertyIds.NicknameName;
1668         }
1669
1670         /// <summary>
1671         /// Describes properies of a Messenger record.
1672         /// </summary>
1673         public static class Messenger
1674         {
1675             /// <summary>
1676             /// Identifier of this contacts messenger view
1677             /// </summary>
1678             public const string Uri = "tizen.contacts_view.messenger";
1679             /// <summary>
1680             /// DB record ID of the messenger
1681             /// </summary>
1682             public const uint Id = (uint)PropertyIds.MessengerId;
1683             /// <summary>
1684             /// Contact ID that the messenger belongs to
1685             /// </summary>
1686             public const uint ContactId = (uint)PropertyIds.MessengerContactId;
1687             /// <summary>
1688             /// Messenger type, refer to the Types
1689             /// </summary>
1690             public const uint Type = (uint)PropertyIds.MessengerType;
1691             /// <summary>
1692             /// Custom messenger type label, when the messenger type is Types.Custom
1693             /// </summary>
1694             public const uint Label = (uint)PropertyIds.MessengerLabel;
1695             /// <summary>
1696             /// Messenger ID (email address or email ID...)
1697             /// </summary>
1698             public const uint IMId = (uint)PropertyIds.MessengerIMId;
1699
1700             /// <summary>
1701             /// Enumeration for Contact messenger type.
1702             /// </summary>
1703             public enum Types
1704             {
1705                 /// <summary>
1706                 /// Other messenger type
1707                 /// </summary>
1708                 Other,
1709                 /// <summary>
1710                 /// Custom messenger type
1711                 /// </summary>
1712                 Custom,
1713                 /// <summary>
1714                 /// Google messenger type
1715                 /// </summary>
1716                 Google,
1717                 /// <summary>
1718                 /// Windows live messenger type
1719                 /// </summary>
1720                 WindowsLive,
1721                 /// <summary>
1722                 /// Yahoo messenger type
1723                 /// </summary>
1724                 Yahoo,
1725                 /// <summary>
1726                 /// Facebook messenger type
1727                 /// </summary>
1728                 Facebook,
1729                 /// <summary>
1730                 /// ICQ type
1731                 /// </summary>
1732                 ICQ,
1733                 /// <summary>
1734                 /// AOL instance messenger type
1735                 /// </summary>
1736                 AOL,
1737                 /// <summary>
1738                 /// QQ type
1739                 /// </summary>
1740                 QQ,
1741                 /// <summary>
1742                 /// Jabber type
1743                 /// </summary>
1744                 Jabber,
1745                 /// <summary>
1746                 /// Skype type
1747                 /// </summary>
1748                 Skype,
1749                 /// <summary>
1750                 /// IRC type
1751                 /// </summary>
1752                 IRC,
1753             }
1754         }
1755
1756         /// <summary>
1757         /// Describes properies of a Profile record.
1758         /// </summary>
1759         public static class Profile
1760         {
1761             /// <summary>
1762             /// Identifier of this contacts profile view
1763             /// </summary>
1764             public const string Uri = "tizen.contacts_view.profile";
1765             /// <summary>
1766             /// DB record ID of profile
1767             /// </summary>
1768             public const uint Id = (uint)PropertyIds.ProfileId;
1769             /// <summary>
1770             /// Contacts ID that the profile belongs to
1771             /// </summary>
1772             public const uint ContactId = (uint)PropertyIds.ProfileContactId;
1773             /// <summary>
1774             /// Unique identifier
1775             /// </summary>
1776             public const uint Uid = (uint)PropertyIds.ProfileUid;
1777             /// <summary>
1778             /// Profile contents
1779             /// </summary>
1780             public const uint Text = (uint)PropertyIds.ProfileText;
1781             /// <summary>
1782             /// Priority to display the profile
1783             /// </summary>
1784             public const uint Order = (uint)PropertyIds.ProfileOrder;
1785             /// <summary>
1786             /// Data for app_control_set_operation
1787             /// </summary>
1788             public const uint ServiceOperation = (uint)PropertyIds.ProfileServiceOperation;
1789             /// <summary>
1790             /// Data for app_control_set_mime
1791             /// </summary>
1792             public const uint Mime = (uint)PropertyIds.ProfileMIME;
1793             /// <summary>
1794             /// Data for app_control_set_app_id
1795             /// </summary>
1796             public const uint AppId = (uint)PropertyIds.ProfileAppId;
1797             /// <summary>
1798             /// Data for app_control_set_uri
1799             /// </summary>
1800             public const uint ProfileUri = (uint)PropertyIds.ProfileUri;
1801             /// <summary>
1802             /// Data for app_control_set_category
1803             /// </summary>
1804             public const uint Category = (uint)PropertyIds.ProfileCategory;
1805             /// <summary>
1806             /// It includes "key:value,key:value," pairs. You should parse it. And you must base64 encode each key and value
1807             /// </summary>
1808             public const uint ExtraData = (uint)PropertyIds.ProfileExtraData;
1809         }
1810
1811         /// <summary>
1812         /// Describes properies of a Sip record.
1813         /// </summary>
1814         public static class Sip
1815         {
1816             /// <summary>
1817             /// Identifier of this contacts sip view
1818             /// </summary>
1819             public const string Uri = "tizen.contacts_view.sip";
1820             /// <summary>
1821             /// DB record ID of the sip
1822             /// </summary>
1823             public const uint Id = (uint)PropertyIds.SipId;
1824             /// <summary>
1825             /// Contact ID that the sip belongs to
1826             /// </summary>
1827             public const uint ContactId = (uint)PropertyIds.SipContactId;
1828             /// <summary>
1829             /// SIP address
1830             /// </summary>
1831             public const uint Address = (uint)PropertyIds.SipAddress;
1832             /// <summary>
1833             /// sip type, refer to the Types
1834             /// </summary>
1835             public const uint Type = (uint)PropertyIds.SipType;
1836             /// <summary>
1837             /// Custom sip type label, when the sip type is Types.Custom
1838             /// </summary>
1839             public const uint Label = (uint)PropertyIds.SipLabel;
1840
1841             /// <summary>
1842             /// Enumeration for Contact SIP type.
1843             /// </summary>
1844             public enum Types
1845             {
1846                 /// <summary>
1847                 /// Other SIP type
1848                 /// </summary>
1849                 Other,
1850                 /// <summary>
1851                 /// Custom SIP type
1852                 /// </summary>
1853                 Custom,
1854                 /// <summary>
1855                 /// Home SIP type
1856                 /// </summary>
1857                 Home,
1858                 /// <summary>
1859                 /// Work SIP type
1860                 /// </summary>
1861                 Work,
1862             }
1863         }
1864
1865         /// <summary>
1866         /// Describes properies of a Extension record.
1867         /// </summary>
1868         public static class Extension
1869         {
1870             /// <summary>
1871             /// Identifier of this contacts extension view
1872             /// </summary>
1873             public const string Uri = "tizen.contacts_view.extension";
1874             /// <summary>
1875             /// DB record ID of the contact extension
1876             /// </summary>
1877             public const uint Id = (uint)PropertyIds.ExtensionId;
1878             /// <summary>
1879             /// Contact ID that the contact extension belongs to
1880             /// </summary>
1881             public const uint ContactId = (uint)PropertyIds.ExtensionContactId;
1882             /// <summary>
1883             /// The extra child record format for non-provided from contacts-service
1884             /// </summary>
1885             public const uint Data1 = (uint)PropertyIds.ExtensionData1;
1886             /// <summary>
1887             /// The extra child record format for non-provided from contacts-service
1888             /// </summary>
1889             public const uint Data2 = (uint)PropertyIds.ExtensionData2;
1890             /// <summary>
1891             /// The extra child record format for non-provided from contacts-service
1892             /// </summary>
1893             public const uint Data3 = (uint)PropertyIds.ExtensionData3;
1894             /// <summary>
1895             /// The extra child record format for non-provided from contacts-service
1896             /// </summary>
1897             public const uint Data4 = (uint)PropertyIds.ExtensionData4;
1898             /// <summary>
1899             /// The extra child record format for non-provided from contacts-service
1900             /// </summary>
1901             public const uint Data5 = (uint)PropertyIds.ExtensionData5;
1902             /// <summary>
1903             /// The extra child record format for non-provided from contacts-service
1904             /// </summary>
1905             public const uint Data6 = (uint)PropertyIds.ExtensionData6;
1906             /// <summary>
1907             /// The extra child record format for non-provided from contacts-service
1908             /// </summary>
1909             public const uint Data7 = (uint)PropertyIds.ExtensionData7;
1910             /// <summary>
1911             /// The extra child record format for non-provided from contacts-service
1912             /// </summary>
1913             public const uint Data8 = (uint)PropertyIds.ExtensionData8;
1914             /// <summary>
1915             /// The extra child record format for non-provided from contacts-service
1916             /// </summary>
1917             public const uint Data9 = (uint)PropertyIds.ExtensionData9;
1918             /// <summary>
1919             /// The extra child record format for non-provided from contacts-service
1920             /// </summary>
1921             public const uint Data10 = (uint)PropertyIds.ExtensionData10;
1922             /// <summary>
1923             /// The extra child record format for non-provided from contacts-service
1924             /// </summary>
1925             public const uint Data11 = (uint)PropertyIds.ExtensionData11;
1926             /// <summary>
1927             /// The extra child record format for non-provided from contacts-service
1928             /// </summary>
1929             public const uint Data12 = (uint)PropertyIds.ExtensionData12;
1930         }
1931
1932         /// <summary>
1933         /// Describes properies of a Group relation record.
1934         /// </summary>
1935         public static class GroupRelation
1936         {
1937             /// <summary>
1938             /// Identifier of this relationship view
1939             /// </summary>
1940             public const string Uri = "tizen.contacts_view.group_relation";
1941             /// <summary>
1942             /// DB record ID of the group relation (can not be used as filter)
1943             /// </summary>
1944             public const uint Id = (uint)PropertyIds.GroupRelationId;
1945             /// <summary>
1946             /// DB record ID of the group
1947             /// </summary>
1948             public const uint GroupId = (uint)PropertyIds.GroupRelationGroupId;
1949             /// <summary>
1950             /// DB record ID of the contact
1951             /// </summary>
1952             public const uint ContactId = (uint)PropertyIds.GroupRelationContactId;
1953             /// <summary>
1954             /// Group name
1955             /// </summary>
1956             public const uint Name = (uint)PropertyIds.GroupRelationGroupName;
1957         }
1958
1959         /// <summary>
1960         /// Describes properies of a Speed dial record.
1961         /// </summary>
1962         public static class SpeedDial
1963         {
1964             /// <summary>
1965             /// Identifier of this contact speed dial view
1966             /// </summary>
1967             public const string Uri = "tizen.contacts_view.speeddial";
1968             /// <summary>
1969             /// Stored speed dial number
1970             /// </summary>
1971             public const uint SpeedDialNumber = (uint)PropertyIds.SpeedDialDialNumber;
1972             /// <summary>
1973             /// Number ID that the speed dial belongs to
1974             /// </summary>
1975             public const uint NumberId = (uint)PropertyIds.SpeedDialNumberId;
1976             /// <summary>
1977             /// Contact number of specified speed dial
1978             /// </summary>
1979             public const uint Number = (uint)PropertyIds.SpeedDialNumber;
1980             /// <summary>
1981             /// Contact number label of specified speed dial, when the number type is Number.Types.Custom
1982             /// </summary>
1983             public const uint NumberLabel = (uint)PropertyIds.SpeedDialNumberLabel;
1984             /// <summary>
1985             /// Contact number type, refer to the Number.Types
1986             /// </summary>
1987             public const uint NumberType = (uint)PropertyIds.SpeedDialNumberType;
1988             /// <summary>
1989             /// Person ID that the speed dial belongs to
1990             /// </summary>
1991             public const uint PersonId = (uint)PropertyIds.SpeedDialPersonId;
1992             /// <summary>
1993             /// Display name that the speed dial belongs to
1994             /// </summary>
1995             public const uint DisplayName = (uint)PropertyIds.SpeedDialDisplayName;
1996             /// <summary>
1997             /// Image thumbnail path that the speed dial belongs to
1998             /// </summary>
1999             public const uint ThumbnailPath = (uint)PropertyIds.SpeedDialThumbnail;
2000             /// <summary>
2001             /// You can only use this property for search filter
2002             /// </summary>
2003             public const uint NormalizedNumber = (uint)PropertyIds.SpeedDialNormalizedNumber;
2004             /// <summary>
2005             /// You can only use this property for search filter
2006             /// </summary>
2007             public const uint CleanedNumber = (uint)PropertyIds.SpeedDialCleanedNumber;
2008             /// <summary>
2009             /// If you add filter with this property, the string will be normalized as minmatch length internally and the match rule will be applied ContactsFilter.StringMatchType.Exactly
2010             /// </summary>
2011             public const uint NumberFilter = (uint)PropertyIds.SpeedDialNumberFilter;
2012         }
2013
2014         /// <summary>
2015         /// Describes properies of a Phone log record.
2016         /// </summary>
2017         public static class PhoneLog
2018         {
2019             /// <summary>
2020             /// Identifier of this phone log view
2021             /// </summary>
2022             public const string Uri = "tizen.contacts_view.phonelog";
2023             /// <summary>
2024             /// DB record ID of phone log
2025             /// </summary>
2026             public const uint Id = (uint)PropertyIds.PhonelogId;
2027             /// <summary>
2028             /// Person ID that the phone log belongs to
2029             /// </summary>
2030             public const uint PersonId = (uint)PropertyIds.PhonelogPersonId;
2031             /// <summary>
2032             /// Number or Email that the phone log displays
2033             /// </summary>
2034             public const uint Address = (uint)PropertyIds.PhonelogAddress;
2035             /// <summary>
2036             /// Call end time. The value means number of seconds since 1970-01-01 00:00:00 (UTC)
2037             /// </summary>
2038             public const uint LogTime = (uint)PropertyIds.PhonelogLogTime;
2039             /// <summary>
2040             /// Log type, refer to the Types
2041             /// </summary>
2042             public const uint LogType = (uint)PropertyIds.PhonelogLogType;
2043             /// <summary>
2044             /// You can set the related integer data (e.g. message_id, email_id or duration(seconds) of call)
2045             /// </summary>
2046             public const uint ExtraData1 = (uint)PropertyIds.PhonelogExtraData1;
2047             /// <summary>
2048             /// You can set the related string data (e.g. short message, subject)
2049             /// </summary>
2050             public const uint ExtraData2 = (uint)PropertyIds.PhonelogExtraData2;
2051             /// <summary>
2052             /// You can only use this property for search filter
2053             /// </summary>
2054             public const uint NormalizedAddress = (uint)PropertyIds.PhonelogNormalizedAddress;
2055             /// <summary>
2056             /// You can only use this property for search filter
2057             /// </summary>
2058             public const uint CleanedAddress = (uint)PropertyIds.PhonelogCleanedAddress;
2059             /// <summary>
2060             /// You can only use this property for search filter
2061             /// </summary>
2062             public const uint AddressFilter = (uint)PropertyIds.PhonelogAddressFilter;
2063             /// <summary>
2064             /// You can set the related SIM slot number. sim_slot_no 0 means first SIM card, sim_slot_no 1 means second SIM. It is same with handle index of telephony handle list. Refer to the telephony_init()
2065             /// </summary>
2066             public const uint SimSlotNo = (uint)PropertyIds.PhonelogSIMSlotNo;
2067
2068             /// <summary>
2069             /// Enumeration for Phone log type.
2070             /// </summary>
2071             public enum Types
2072             {
2073                 /// <summary>
2074                 /// None
2075                 /// </summary>
2076                 None,
2077                 /// <summary>
2078                 /// Incoming call
2079                 /// </summary>
2080                 VoiceIncoming = 1,
2081                 /// <summary>
2082                 /// Outgoing call
2083                 /// </summary>
2084                 VoiceOutgoing = 2,
2085                 /// <summary>
2086                 /// Incoming video call
2087                 /// </summary>
2088                 VideoIncoming = 3,
2089                 /// <summary>
2090                 /// Outgoing video call
2091                 /// </summary>
2092                 VideoOutgoing = 4,
2093                 /// <summary>
2094                 /// Not confirmed missed call
2095                 /// </summary>
2096                 VoiceMissedUnseen = 5,
2097                 /// <summary>
2098                 /// Confirmed missed call
2099                 /// </summary>
2100                 VoiceMissedSeen = 6,
2101                 /// <summary>
2102                 /// Not confirmed missed video call
2103                 /// </summary>
2104                 VideoMissedUnseen = 7,
2105                 /// <summary>
2106                 /// Confirmed missed video call
2107                 /// </summary>
2108                 VidoeMissedSeen = 8,
2109                 /// <summary>
2110                 /// Rejected call
2111                 /// </summary>
2112                 VoiceRejected = 9,
2113                 /// <summary>
2114                 /// Rejected video call
2115                 /// </summary>
2116                 VideoRejected = 10,
2117                 /// <summary>
2118                 /// Blocked call
2119                 /// </summary>
2120                 VoiceBlocked = 11,
2121                 /// <summary>
2122                 /// Blocked video call
2123                 /// </summary>
2124                 VideoBlocked = 12,
2125                 /// <summary>
2126                 /// Incoming MMS
2127                 /// </summary>
2128                 MmsIncoming = 101,
2129                 /// <summary>
2130                 /// Outgoing MMS
2131                 /// </summary>
2132                 MmsOutgoing = 102,
2133                 /// <summary>
2134                 /// Incoming SMS
2135                 /// </summary>
2136                 SmsIncoming = 103,
2137                 /// <summary>
2138                 /// Outgoing SMS
2139                 /// </summary>
2140                 SmsOutgoing = 104,
2141                 /// <summary>
2142                 /// Blocked SMS
2143                 /// </summary>
2144                 SmsBlocked = 105,
2145                 /// <summary>
2146                 /// Blocked MMS
2147                 /// </summary>
2148                 MmsBlocked = 106,
2149                 /// <summary>
2150                 /// Received email
2151                 /// </summary>
2152                 EmailReceived = 201,
2153                 /// <summary>
2154                 /// Sent email
2155                 /// </summary>
2156                 EmailSent = 202,
2157
2158             }
2159         }
2160
2161         /// <summary>
2162         /// Describes properies of a Contact updated information record.
2163         /// </summary>
2164         /// <remarks>Read only view</remarks>
2165         public static class ContactUpdatedInfo
2166         {
2167             /// <summary>
2168             /// Identifier of this contact updated info view
2169             /// </summary>
2170             public const string Uri = "tizen.contacts_view.contacts_updated_info";
2171             /// <summary>
2172             /// Updated contact ID
2173             /// </summary>
2174             public const uint ContactId = (uint)PropertyIds.UpdateInfoId;
2175             /// <summary>
2176             /// Addressbook ID that the updated contact belongs to
2177             /// </summary>
2178             public const uint AddressbookId = (uint)PropertyIds.UpdateInfoAddressbookId;
2179             /// <summary>
2180             /// Contact change type, refer to the ContactsViews.ChangeTypes
2181             /// </summary>
2182             public const uint Type = (uint)PropertyIds.UpdateInfoType;
2183             /// <summary>
2184             /// Updated version
2185             /// </summary>
2186             public const uint Version = (uint)PropertyIds.UpdateInfoVersion;
2187             /// <summary>
2188             /// Contact image is changed or not
2189             /// </summary>
2190             public const uint ImageChanged = (uint)PropertyIds.UpdateInfoImageChanged;
2191         }
2192
2193         /// <summary>
2194         /// Describes properies of a My profile updated information record.
2195         /// </summary>
2196         /// <remarks>Read only view</remarks>
2197         public static class MyProfileUpdatedInfo
2198         {
2199             /// <summary>
2200             /// Identifier of this my profile updated info view
2201             /// </summary>
2202             public const string Uri = "tizen.contacts_view.my_profile_updated_info";
2203             /// <summary>
2204             /// Address book ID that the updated my profile belongs to
2205             /// </summary>
2206             public const uint AddressbookId = (uint)PropertyIds.UpdateInfoAddressbookId;
2207             /// <summary>
2208             /// MyProfile change type, refer to the ContactsViews.ChangeTypes
2209             /// </summary>
2210             public const uint LastChangedType = (uint)PropertyIds.UpdateInfoLastChangedType;
2211             /// <summary>
2212             /// Updated version
2213             /// </summary>
2214             public const uint Version = (uint)PropertyIds.UpdateInfoVersion;
2215         }
2216
2217         /// <summary>
2218         /// Describes properies of a Group updated information record.
2219         /// </summary>
2220         /// <remarks>Read only view</remarks>
2221         public static class GroupUpdatedInfo
2222         {
2223             /// <summary>
2224             /// Identifier of this group updated info view
2225             /// </summary>
2226             public const string Uri = "tizen.contacts_view.groups_updated_info";
2227             /// <summary>
2228             /// Updated group ID
2229             /// </summary>
2230             public const uint GroupId = (uint)PropertyIds.UpdateInfoId;
2231             /// <summary>
2232             /// Address book ID that the updated group belongs to
2233             /// </summary>
2234             public const uint AddressbookId = (uint)PropertyIds.UpdateInfoAddressbookId;
2235             /// <summary>
2236             /// Group change type, refer to the ContactsViews.ChangeTypes
2237             /// </summary>
2238             public const uint Type = (uint)PropertyIds.UpdateInfoType;
2239             /// <summary>
2240             /// Updated version
2241             /// </summary>
2242             public const uint Version = (uint)PropertyIds.UpdateInfoVersion;
2243         }
2244
2245         /// <summary>
2246         /// Describes properies of a Group Member updated information record.
2247         /// </summary>
2248         /// <remarks>Read only view</remarks>
2249         public static class GroupMemberUpdatedInfo
2250         {
2251             /// <summary>
2252             /// Identifier of this group member updated info view
2253             /// </summary>
2254             public const string Uri = "tizen.contacts_view.groups_member_updated_info";
2255             /// <summary>
2256             /// Updated group ID
2257             /// </summary>
2258             public const uint GroupId = (uint)PropertyIds.UpdateInfoId;
2259             /// <summary>
2260             /// Address book ID that the updated group belongs to
2261             /// </summary>
2262             public const uint AddressbookId = (uint)PropertyIds.UpdateInfoAddressbookId;
2263             /// <summary>
2264             /// Updated version
2265             /// </summary>
2266             public const uint Version = (uint)PropertyIds.UpdateInfoVersion;
2267         }
2268
2269         /// <summary>
2270         /// Describes properies of a Relation updated information record.
2271         /// </summary>
2272         /// <remarks>Read only view</remarks>
2273         public static class GroupRelationUpdatedInfo
2274         {
2275             /// <summary>
2276             /// Identifier of this group relation updated info view
2277             /// </summary>
2278             public const string Uri = "tizen.contacts_view.group_relations_updated_info";
2279             /// <summary>
2280             /// Group ID of group relation
2281             /// </summary>
2282             public const uint GroupId = (uint)PropertyIds.GroupId;
2283             /// <summary>
2284             /// Contact ID of the updated group relation
2285             /// </summary>
2286             public const uint ContactId = (uint)PropertyIds.ContactId;
2287             /// <summary>
2288             /// Address book ID of contact that the updated group relation
2289             /// </summary>
2290             public const uint AddressbookId = (uint)PropertyIds.AddressbookId;
2291             /// <summary>
2292             /// Group relation change type, refer to the ContactsViews.ChangeTypes
2293             /// </summary>
2294             public const uint Type = (uint)PropertyIds.UpdateInfoType;
2295             /// <summary>
2296             /// Updated version
2297             /// </summary>
2298             public const uint Version = (uint)PropertyIds.UpdateInfoVersion;
2299         }
2300
2301         /// <summary>
2302         /// Describes properies of a Person & Contact record.
2303         /// </summary>
2304         /// <remarks>Read only view</remarks>
2305         public static class PersonContact
2306         {
2307             /// <summary>
2308             /// Identifier of this person contact view
2309             /// </summary>
2310             public const string Uri = "tizen.contacts_view.person/simple_contact";
2311             /// <summary>
2312             /// DB record ID of the person
2313             /// </summary>
2314             public const uint PersonId = (uint)PropertyIds.PersonId;
2315             /// <summary>
2316             /// Display name of the person
2317             /// </summary>
2318             public const uint DisplayName = (uint)PropertyIds.PersonDisplayName;
2319             /// <summary>
2320             /// The first character of first string for grouping. This is normalized using icu (projection)
2321             /// </summary>
2322             public const uint DisplayNameIndex = (uint)PropertyIds.PersonDisplayNameIndex;
2323             /// <summary>
2324             /// Display contact ID that the person belongs to (projection)
2325             /// </summary>
2326             public const uint DisplayContactId = (uint)PropertyIds.PersonDisplayContactId;
2327             /// <summary>
2328             /// Ringtone path of the person (projection)
2329             /// </summary>
2330             public const uint RingtonePath = (uint)PropertyIds.PersonRingtone;
2331             /// <summary>
2332             /// Image thumbnail path of the person (projection)
2333             /// </summary>
2334             public const uint ThumbnailPath = (uint)PropertyIds.PersonThumbnail;
2335             /// <summary>
2336             /// Vibration path of the person (projection)
2337             /// </summary>
2338             public const uint Vibration = (uint)PropertyIds.PersonVibration;
2339             /// <summary>
2340             /// Message alert path of the person (projection)
2341             /// </summary>
2342             public const uint MessageAlert = (uint)PropertyIds.PersonMessageAlert;
2343             /// <summary>
2344             /// Status of social account (projection)
2345             /// </summary>
2346             public const uint Status = (uint)PropertyIds.PersonStatus;
2347             /// <summary>
2348             /// The person is favorite or not
2349             /// </summary>
2350             public const uint IsFavorite = (uint)PropertyIds.PersonIsFavorite;
2351             /// <summary>
2352             /// Link count of contact records (projection)
2353             /// </summary>
2354             public const uint LinkCount = (uint)PropertyIds.PersonLinkCount;
2355             /// <summary>
2356             /// Contact ID that the person belongs to
2357             /// </summary>
2358             public const uint ContactId = (uint)PropertyIds.ContactId;
2359             /// <summary>
2360             /// Addressbook IDs that the person belongs to (projection)
2361             /// </summary>
2362             public const uint AddressbookIds = (uint)PropertyIds.PersonAddressbookIds;
2363             /// <summary>
2364             /// The person has phone number or not
2365             /// </summary>
2366             public const uint HasPhoneNumber = (uint)PropertyIds.PersonHasPhoneNumber;
2367             /// <summary>
2368             /// The person has email or not
2369             /// </summary>
2370             public const uint HasEmail = (uint)PropertyIds.PersonHasEmail;
2371             /// <summary>
2372             /// Addressbook ID that the person belongs to
2373             /// </summary>
2374             public const uint AddressbookId = (uint)PropertyIds.ContactAddressbookId;
2375             /// <summary>
2376             /// Addressbook mode, refer to the Addressbook.Modes
2377             /// </summary>
2378             public const uint AddressbookMode = (uint)PropertyIds.AddressbookMode;
2379             /// <summary>
2380             /// Addressbook name that the person belongs to
2381             /// </summary>
2382             public const uint AddressbookName = (uint)PropertyIds.AddressbookName;
2383             /// <summary>
2384             /// kerword matched data type, refer to the Contact.DataTypes
2385             /// </summary>
2386             public const uint SnippetType = (uint)PropertyIds.PersonSnippetType;
2387             /// <summary>
2388             /// keyword matched data string
2389             /// </summary>
2390             public const uint SnippetString = (uint)PropertyIds.PersonSnippetString;
2391         };
2392
2393         /// <summary>
2394         /// Describes properies of a Person & Number record.
2395         /// </summary>
2396         /// <remarks>Read only view</remarks>
2397         public static class PersonNumber
2398         {
2399             /// <summary>
2400             /// Identifier of this person number view
2401             /// </summary>
2402             public const string Uri = "tizen.contacts_view.person/simple_contact/number";
2403             /// <summary>
2404             /// DB record ID of the person
2405             /// </summary>
2406             public const uint PersonId = (uint)PropertyIds.PersonId;
2407             /// <summary>
2408             /// Display name of the person
2409             /// </summary>
2410             public const uint DisplayName = (uint)PropertyIds.PersonDisplayName;
2411             /// <summary>
2412             /// The first character of first string for grouping. This is normalized using icu (projection)
2413             /// </summary>
2414             public const uint DisplayNameIndex = (uint)PropertyIds.PersonDisplayNameIndex;
2415             /// <summary>
2416             /// Display contact ID that the person belongs to (projection)
2417             /// </summary>
2418             public const uint DisplayContactId = (uint)PropertyIds.PersonDisplayContactId;
2419             /// <summary>
2420             /// Ringtone path of the person (projection)
2421             /// </summary>
2422             public const uint RingtonePath = (uint)PropertyIds.PersonRingtone;
2423             /// <summary>
2424             /// Image thumbnail path of the person (projection)
2425             /// </summary>
2426             public const uint ThumbnailPath = (uint)PropertyIds.PersonThumbnail;
2427             /// <summary>
2428             /// Vibration path of the person (projection)
2429             /// </summary>
2430             public const uint Vibration = (uint)PropertyIds.PersonVibration;
2431             /// <summary>
2432             /// Message alert path of the person (projection)
2433             /// </summary>
2434             public const uint MessageAlert = (uint)PropertyIds.PersonMessageAlert;
2435             /// <summary>
2436             /// The person is favorite or not
2437             /// </summary>
2438             public const uint IsFavorite = (uint)PropertyIds.PersonIsFavorite;
2439             /// <summary>
2440             /// The person has phone number or not
2441             /// </summary>
2442             public const uint HasPhoneNumber = (uint)PropertyIds.PersonHasPhoneNumber;
2443             /// <summary>
2444             /// The person has email or not
2445             /// </summary>
2446             public const uint HasEmail = (uint)PropertyIds.PersonHasEmail;
2447             /// <summary>
2448             /// Number ID that the person belongs to
2449             /// </summary>
2450             public const uint NumberId = (uint)PropertyIds.NumberId;
2451             /// <summary>
2452             /// Number type, refer to the Number.Types (projection)
2453             /// </summary>
2454             public const uint Type = (uint)PropertyIds.NumberType;
2455             /// <summary>
2456             /// Custom number type label, when the number type is Number.Types.Custom (projection)
2457             /// </summary>
2458             public const uint Label = (uint)PropertyIds.NumberLabel;
2459             /// <summary>
2460             /// The number is default number or not
2461             /// </summary>
2462             public const uint IsPrimaryDefault = (uint)PropertyIds.DataIsPrimaryDefault;
2463             /// <summary>
2464             /// Number
2465             /// </summary>
2466             public const uint Number = (uint)PropertyIds.NumberNumber;
2467             /// <summary>
2468             /// If you add filter with this property, the string will be normalized as minmatch length internally and the match rule will be applied ContactsFilter.StringMatchType.Exactly.
2469             /// </summary>
2470             public const uint NumberFilter = (uint)PropertyIds.NumberNumberFilter;
2471             /// <summary>
2472             /// You can only use this property for search filter
2473             /// </summary>
2474             public const uint NormalizedNumber = (uint)PropertyIds.NumberNormalizedNumber;
2475             /// <summary>
2476             /// You can only use this property for search filter
2477             /// </summary>
2478             public const uint CleanedNumber = (uint)PropertyIds.NumberCleanedNumber;
2479             /// <summary>
2480             /// kerword matched data type, refer to they Contact.DataTypes
2481             /// </summary>
2482             public const uint SnippetType = (uint)PropertyIds.PersonSnippetType;
2483             /// <summary>
2484             /// keyword matched data string
2485             /// </summary>
2486             public const uint SnippetString = (uint)PropertyIds.PersonSnippetString;
2487         };
2488
2489         /// <summary>
2490         /// Describes properies of a Person & Email record.
2491         /// </summary>
2492         /// <remarks>Read only view</remarks>
2493         public static class PersonEmail
2494         {
2495             /// <summary>
2496             /// Identifier of this person email view
2497             /// </summary>
2498             public const string Uri = "tizen.contacts_view.person/simple_contact/email";
2499             /// <summary>
2500             /// DB record ID of the person
2501             /// </summary>
2502             public const uint PersonId = (uint)PropertyIds.PersonId;
2503             /// <summary>
2504             /// Display name of the person
2505             /// </summary>
2506             public const uint DisplayName = (uint)PropertyIds.PersonDisplayName;
2507             /// <summary>
2508             /// The first character of first string for grouping. This is normalized using icu (projection)
2509             /// </summary>
2510             public const uint DisplayNameIndex = (uint)PropertyIds.PersonDisplayNameIndex;
2511             /// <summary>
2512             /// Display contact ID that the person belongs to (projection)
2513             /// </summary>
2514             public const uint DisplayContactId = (uint)PropertyIds.PersonDisplayContactId;
2515             /// <summary>
2516             /// Ringtone path of the person (projection)
2517             /// </summary>
2518             public const uint RingtonePath = (uint)PropertyIds.PersonRingtone;
2519             /// <summary>
2520             /// Image thumbnail path of the person (projection)
2521             /// </summary>
2522             public const uint ThumbnailPath = (uint)PropertyIds.PersonThumbnail;
2523             /// <summary>
2524             /// Vibration path of the person (projection)
2525             /// </summary>
2526             public const uint Vibration = (uint)PropertyIds.PersonVibration;
2527             /// <summary>
2528             /// Message alert path of the person (projection)
2529             /// </summary>
2530             public const uint MessageAlert = (uint)PropertyIds.PersonMessageAlert;
2531             /// <summary>
2532             /// The person is favorite or not
2533             /// </summary>
2534             public const uint IsFavorite = (uint)PropertyIds.PersonIsFavorite;
2535             /// <summary>
2536             /// The person has phone number or not
2537             /// </summary>
2538             public const uint HasPhoneNumber = (uint)PropertyIds.PersonHasPhoneNumber;
2539             /// <summary>
2540             /// The person has email or not
2541             /// </summary>
2542             public const uint HasEmail = (uint)PropertyIds.PersonHasEmail;
2543             /// <summary>
2544             /// Email ID that the person belongs to
2545             /// </summary>
2546             public const uint EmailId = (uint)PropertyIds.EmailId;
2547             /// <summary>
2548             /// Email type, refer to the Email.Types (projection)
2549             /// </summary>
2550             public const uint Type = (uint)PropertyIds.EmailType;
2551             /// <summary>
2552             /// Custom mail type label, when the email type is Email.Types.Custom (projection)
2553             /// </summary>
2554             public const uint Label = (uint)PropertyIds.EmailLabel;
2555             /// <summary>
2556             /// The email is default email or not
2557             /// </summary>
2558             public const uint IsPrimaryDefault = (uint)PropertyIds.DataIsPrimaryDefault;
2559             /// <summary>
2560             /// Email address
2561             /// </summary>
2562             public const uint Email = (uint)PropertyIds.EmailEmail;
2563             /// <summary>
2564             /// kerword matched data type, refer to they Contact.DataTypes
2565             /// </summary>
2566             public const uint SnippetType = (uint)PropertyIds.PersonSnippetType;
2567             /// <summary>
2568             /// keyword matched data string
2569             /// </summary>
2570             public const uint SnippetString = (uint)PropertyIds.PersonSnippetString;
2571         };
2572
2573         /// <summary>
2574         /// Describes properies of a Person & Group Relation record.
2575         /// </summary>
2576         /// <remarks>Read only view</remarks>
2577         public static class PersonGroupRelation
2578         {
2579             /// <summary>
2580             /// Identifier of this person group relation view
2581             /// </summary>
2582             public const string Uri = "tizen.contacts_view.person/simple_contact/group";
2583             /// <summary>
2584             /// DB record ID of the person
2585             /// </summary>
2586             public const uint PersonId = (uint)PropertyIds.PersonId;
2587             /// <summary>
2588             /// Display name of the person
2589             /// </summary>
2590             public const uint DisplayName = (uint)PropertyIds.PersonDisplayName;
2591             /// <summary>
2592             /// The first character of first string for grouping. This is normalized using icu (projection)
2593             /// </summary>
2594             public const uint DisplayNameIndex = (uint)PropertyIds.PersonDisplayNameIndex;
2595             /// <summary>
2596             /// Display contact ID that the person belongs to (projection)
2597             /// </summary>
2598             public const uint DisplayContactId = (uint)PropertyIds.PersonDisplayContactId;
2599             /// <summary>
2600             /// Ringtone path of the person (projection)
2601             /// </summary>
2602             public const uint RingtonePath = (uint)PropertyIds.PersonRingtone;
2603             /// <summary>
2604             /// Image thumbnail path of the person (projection)
2605             /// </summary>
2606             public const uint ThumbnailPath = (uint)PropertyIds.PersonThumbnail;
2607             /// <summary>
2608             /// Vibration path of the person (projection)
2609             /// </summary>
2610             public const uint Vibration = (uint)PropertyIds.PersonVibration;
2611             /// <summary>
2612             /// Message alert path of the person (projection)
2613             /// </summary>
2614             public const uint MessageAlert = (uint)PropertyIds.PersonMessageAlert;
2615             /// <summary>
2616             /// Status of social account (projection)
2617             /// </summary>
2618             public const uint Status = (uint)PropertyIds.PersonStatus;
2619             /// <summary>
2620             /// The person is favorite or not
2621             /// </summary>
2622             public const uint IsFavorite = (uint)PropertyIds.PersonIsFavorite;
2623             /// <summary>
2624             /// The person has phone number or not
2625             /// </summary>
2626             public const uint HasPhoneNumber = (uint)PropertyIds.PersonHasPhoneNumber;
2627             /// <summary>
2628             /// The person has email or not
2629             /// </summary>
2630             public const uint HasEmail = (uint)PropertyIds.PersonHasEmail;
2631             /// <summary>
2632             /// Link count of contat records (projection)
2633             /// </summary>
2634             public const uint LinkCount = (uint)PropertyIds.PersonLinkCount;
2635             /// <summary>
2636             /// Addressbook IDs that the person belongs to (projection)
2637             /// </summary>
2638             public const uint AddressbookIds = (uint)PropertyIds.PersonAddressbookIds;
2639             /// <summary>
2640             /// Addressbook ID that the person belongs to
2641             /// </summary>
2642             public const uint AddressbookId = (uint)PropertyIds.ContactAddressbookId;
2643             /// <summary>
2644             /// Addressbook name that the person belongs to
2645             /// </summary>
2646             public const uint AddressbookName = (uint)PropertyIds.AddressbookName;
2647             /// <summary>
2648             /// Addressbook mode, refer to the Addressbook.Modes
2649             /// </summary>
2650             public const uint AddressbookMode = (uint)PropertyIds.AddressbookMode;
2651             /// <summary>
2652             /// Group ID that the person belongs to
2653             /// </summary>
2654             public const uint GroupId = (uint)PropertyIds.GroupRelationGroupId;
2655             /// <summary>
2656             /// Contact ID that the person belongs to (projection)
2657             /// </summary>
2658             public const uint ContactId = (uint)PropertyIds.GroupRelationContactId;
2659             /// <summary>
2660             /// kerword matched data type, refer to they Contact.DataTypes
2661             /// </summary>
2662             public const uint SnippetType = (uint)PropertyIds.PersonSnippetType;
2663             /// <summary>
2664             /// keyword matched data string
2665             /// </summary>
2666             public const uint SnippetString = (uint)PropertyIds.PersonSnippetString;
2667         };
2668
2669         /// <summary>
2670         /// Describes properies of a Person & Group Assigned record.
2671         /// </summary>
2672         /// <remarks>Read only view</remarks>
2673         public static class PersonGroupAssigned
2674         {
2675             /// <summary>
2676             /// Identifier of this person group assigned view
2677             /// </summary>
2678             public const string Uri = "tizen.contacts_view.person/simple_contact/group_assigned";
2679             /// <summary>
2680             /// DB record ID of the person
2681             /// </summary>
2682             public const uint PersonId = (uint)PropertyIds.PersonId;
2683             /// <summary>
2684             /// Display name of the person
2685             /// </summary>
2686             public const uint DisplayName = (uint)PropertyIds.PersonDisplayName;
2687             /// <summary>
2688             /// The first character of first string for grouping. This is normalized using icu (projection)
2689             /// </summary>
2690             public const uint DisplayNameIndex = (uint)PropertyIds.PersonDisplayNameIndex;
2691             /// <summary>
2692             /// Display contact ID that the person belongs to (projection)
2693             /// </summary>
2694             public const uint DisplayContactId = (uint)PropertyIds.PersonDisplayContactId;
2695             /// <summary>
2696             /// Ringtone path of the person (projection)
2697             /// </summary>
2698             public const uint RingtonePath = (uint)PropertyIds.PersonRingtone;
2699             /// <summary>
2700             /// Image thumbnail path of the person (projection)
2701             /// </summary>
2702             public const uint ThumbnailPath = (uint)PropertyIds.PersonThumbnail;
2703             /// <summary>
2704             /// Vibration path of the person (projection)
2705             /// </summary>
2706             public const uint Vibration = (uint)PropertyIds.PersonVibration;
2707             /// <summary>
2708             /// Message alert path of the person (projection)
2709             /// </summary>
2710             public const uint MessageAlert = (uint)PropertyIds.PersonMessageAlert;
2711             /// <summary>
2712             /// Status of social account (projection)
2713             /// </summary>
2714             public const uint Status = (uint)PropertyIds.PersonStatus;
2715             /// <summary>
2716             /// The person is favorite or not
2717             /// </summary>
2718             public const uint IsFavorite = (uint)PropertyIds.PersonIsFavorite;
2719             /// <summary>
2720             /// The person has phone number or not
2721             /// </summary>
2722             public const uint HasPhoneNumber = (uint)PropertyIds.PersonHasPhoneNumber;
2723             /// <summary>
2724             /// The person has email or not
2725             /// </summary>
2726             public const uint HasEmail = (uint)PropertyIds.PersonHasEmail;
2727             /// <summary>
2728             /// Link count of contact records (projection)
2729             /// </summary>
2730             public const uint LinkCount = (uint)PropertyIds.PersonLinkCount;
2731             /// <summary>
2732             /// Addressbook IDs that the linked person belongs to (projection)
2733             /// </summary>
2734             public const uint AddressbookIds = (uint)PropertyIds.PersonAddressbookIds;
2735             /// <summary>
2736             /// Addressbook ID that the person belongs to
2737             /// </summary>
2738             public const uint AddressbookId = (uint)PropertyIds.ContactAddressbookId;
2739             /// <summary>
2740             /// Addressbook mode, refer to the Addressbook.Modes
2741             /// </summary>
2742             public const uint AddressbookMode = (uint)PropertyIds.AddressbookMode;
2743             /// <summary>
2744             /// Group ID that the person belongs to
2745             /// </summary>
2746             public const uint GroupId = (uint)PropertyIds.GroupRelationGroupId;
2747             /// <summary>
2748             /// Contact ID that the person belongs to (projection)
2749             /// </summary>
2750             public const uint ContactId = (uint)PropertyIds.GroupRelationContactId;
2751             /// <summary>
2752             /// kerword matched data type, refer to they Contact.DataTypes
2753             /// </summary>
2754             public const uint SnippetType = (uint)PropertyIds.PersonSnippetType;
2755             /// <summary>
2756             /// keyword matched data string
2757             /// </summary>
2758             public const uint SnippetString = (uint)PropertyIds.PersonSnippetString;
2759         };
2760
2761         /// <summary>
2762         /// Describes properies of a Person & Group Not Assigned record.
2763         /// </summary>
2764         /// <remarks>Read only view</remarks>
2765         public static class PersonGroupNotAssigned
2766         {
2767             /// <summary>
2768             /// Identifier of this person group not assigned view
2769             /// </summary>
2770             public const string Uri = "tizen.contacts_view.person/simple_contact/group_not_assigned";
2771             /// <summary>
2772             /// DB record ID of the person
2773             /// </summary>
2774             public const uint PersonId = (uint)PropertyIds.PersonId;
2775             /// <summary>
2776             /// Display name of the person
2777             /// </summary>
2778             public const uint DisplayName = (uint)PropertyIds.PersonDisplayName;
2779             /// <summary>
2780             /// The first character of first string for grouping. This is normalized using icu (projection)
2781             /// </summary>
2782             public const uint DisplayNameIndex = (uint)PropertyIds.PersonDisplayNameIndex;
2783             /// <summary>
2784             /// Display contact ID that the person belongs to (projection)
2785             /// </summary>
2786             public const uint DisplayContactId = (uint)PropertyIds.PersonDisplayContactId;
2787             /// <summary>
2788             /// Ringtone path of the person (projection)
2789             /// </summary>
2790             public const uint RingtonePath = (uint)PropertyIds.PersonRingtone;
2791             /// <summary>
2792             /// Image thumbnail path of the person (projection)
2793             /// </summary>
2794             public const uint ThumbnailPath = (uint)PropertyIds.PersonThumbnail;
2795             /// <summary>
2796             /// Vibration path of the person (projection)
2797             /// </summary>
2798             public const uint Vibration = (uint)PropertyIds.PersonVibration;
2799             /// <summary>
2800             /// Message alert path of the person (projection)
2801             /// </summary>
2802             public const uint MessageAlert = (uint)PropertyIds.PersonMessageAlert;
2803             /// <summary>
2804             /// Status of social account (projection)
2805             /// </summary>
2806             public const uint Status = (uint)PropertyIds.PersonStatus;
2807             /// <summary>
2808             /// The person is favorite or not
2809             /// </summary>
2810             public const uint IsFavorite = (uint)PropertyIds.PersonIsFavorite;
2811             /// <summary>
2812             /// The person has phone number or not
2813             /// </summary>
2814             public const uint HasPhoneNumber = (uint)PropertyIds.PersonHasPhoneNumber;
2815             /// <summary>
2816             /// The person has email or not
2817             /// </summary>
2818             public const uint HasEmail = (uint)PropertyIds.PersonHasEmail;
2819             /// <summary>
2820             /// Link count of contact records (projection)
2821             /// </summary>
2822             public const uint LinkCount = (uint)PropertyIds.PersonLinkCount;
2823             /// <summary>
2824             /// Addressbook IDs that the linked person belongs to (projection)
2825             /// </summary>
2826             public const uint AddressbookIds = (uint)PropertyIds.PersonAddressbookIds;
2827             /// <summary>
2828             /// Addressbook ID that the person belongs to
2829             /// </summary>
2830             public const uint AddressbookId = (uint)PropertyIds.ContactAddressbookId;
2831             /// <summary>
2832             /// Addressbook mode, refer to the Addressbook.Modes
2833             /// </summary>
2834             public const uint AddressbookMode = (uint)PropertyIds.AddressbookMode;
2835             /// <summary>
2836             /// Contact ID that the person belongs to (projection)
2837             /// </summary>
2838             public const uint ContactId = (uint)PropertyIds.ContactId;
2839             /// <summary>
2840             /// kerword matched data type, refer to they Contact.DataTypes
2841             /// </summary>
2842             public const uint SnippetType = (uint)PropertyIds.PersonSnippetType;
2843             /// <summary>
2844             /// keyword matched data string
2845             /// </summary>
2846             public const uint SnippetString = (uint)PropertyIds.PersonSnippetString;
2847         };
2848
2849         /// <summary>
2850         /// Describes properies of a Person & Phone Log record.
2851         /// </summary>
2852         /// <remarks>Read only view</remarks>
2853         public static class PersonPhonelog
2854         {
2855             /// <summary>
2856             /// Identifier of this phone log view
2857             /// </summary>
2858             public const string Uri = "tizen.contacts_view.person/simple_contact/phonelog";
2859             /// <summary>
2860             /// DB record ID of the person
2861             /// </summary>
2862             public const uint PersonId = (uint)PropertyIds.PersonId;
2863             /// <summary>
2864             /// Display name of the person
2865             /// </summary>
2866             public const uint DisplayName = (uint)PropertyIds.PersonDisplayName;
2867             /// <summary>
2868             /// Image thumbnail path of the person (projection)
2869             /// </summary>
2870             public const uint ThumbnailPath = (uint)PropertyIds.PersonThumbnail;
2871             /// <summary>
2872             /// DB record ID of phone log
2873             /// </summary>
2874             public const uint LogId = (uint)PropertyIds.PhonelogId;
2875             /// <summary>
2876             /// Number or Email that the phone log displays
2877             /// </summary>
2878             public const uint Address = (uint)PropertyIds.PhonelogAddress;
2879             /// <summary>
2880             /// Number or Email type (projection)
2881             /// </summary>
2882             public const uint AddressType = (uint)PropertyIds.DataData1;
2883             /// <summary>
2884             /// Call end time. The value means number of seconds since 1970-01-01 00:00:00 (UTC)
2885             /// </summary>
2886             public const uint LogTime = (uint)PropertyIds.PhonelogLogTime;
2887             /// <summary>
2888             /// Log type, refer to the PhoneLog.Types
2889             /// </summary>
2890             public const uint LogType = (uint)PropertyIds.PhonelogLogType;
2891             /// <summary>
2892             /// You can set the related integer data (e.g. message_id, email_id or duration(seconds) of call) (projection)
2893             /// </summary>
2894             public const uint ExtraData1 = (uint)PropertyIds.PhonelogExtraData1;
2895             /// <summary>
2896             /// You can set the related string data (e.g. short message, subject) (projection)
2897             /// </summary>
2898             public const uint ExtraData2 = (uint)PropertyIds.PhonelogExtraData2;
2899             /// <summary>
2900             /// You can only use this property for search filter
2901             /// </summary>
2902             public const uint NormalizedAddress = (uint)PropertyIds.PhonelogNormalizedAddress;
2903             /// <summary>
2904             /// You can only use this property for search filter
2905             /// </summary>
2906             public const uint CleanedAddress = (uint)PropertyIds.PhonelogCleanedAddress;
2907             /// <summary>
2908             /// You can only use this property for search filter
2909             /// </summary>
2910             public const uint AddressFilter = (uint)PropertyIds.PhonelogAddressFilter;
2911             /// <summary>
2912             /// It is related to the SIM slot number. sim_slot_no 0 means first SIM card, sim_slot_no 1 means second SIM. It is same with handle index of telephony handle list. Refer to the telephony_init()
2913             /// </summary>
2914             public const uint SIMSlotNo = (uint)PropertyIds.PhonelogSIMSlotNo;
2915         };
2916
2917         /// <summary>
2918         /// Describes properies of a Person Usage record.
2919         /// </summary>
2920         /// <remarks>Read only view</remarks>
2921         public static class PersonUsage
2922         {
2923             /// <summary>
2924             /// Identifier of this person usage view
2925             /// </summary>
2926             public const string Uri = "tizen.contacts_view.person/usag";
2927             /// <summary>
2928             /// DB record ID of the person
2929             /// </summary>
2930             public const uint PersonId = (uint)PropertyIds.PersonId;
2931             /// <summary>
2932             /// Display name of the person
2933             /// </summary>
2934             public const uint DisplayName = (uint)PropertyIds.PersonDisplayName;
2935             /// <summary>
2936             /// The first character of first string for grouping. This is normalized using icu (projection)
2937             /// </summary>
2938             public const uint DisplayNameIndex = (uint)PropertyIds.PersonDisplayNameIndex;
2939             /// <summary>
2940             /// Display contact ID that the person belongs to (projection)
2941             /// </summary>
2942             public const uint DisplayContactId = (uint)PropertyIds.PersonDisplayContactId;
2943             /// <summary>
2944             /// Ringtone path of the person (projection)
2945             /// </summary>
2946             public const uint RingtonePath = (uint)PropertyIds.PersonRingtone;
2947             /// <summary>
2948             /// Image thumbnail path of the person (projection)
2949             /// </summary>
2950             public const uint ThumbnailPath = (uint)PropertyIds.PersonThumbnail;
2951             /// <summary>
2952             /// Vibration path of the person (projection)
2953             /// </summary>
2954             public const uint Vibration = (uint)PropertyIds.PersonVibration;
2955             /// <summary>
2956             /// Message alert path of the person (projection)
2957             /// </summary>
2958             public const uint MessageAlert = (uint)PropertyIds.PersonMessageAlert;
2959             /// <summary>
2960             /// The person is favorite or not
2961             /// </summary>
2962             public const uint IsFavorite = (uint)PropertyIds.PersonIsFavorite;
2963             /// <summary>
2964             /// The person has phone number or not
2965             /// </summary>
2966             public const uint HasPhoneNumber = (uint)PropertyIds.PersonHasPhoneNumber;
2967             /// <summary>
2968             /// The person has email or not
2969             /// </summary>
2970             public const uint HasEmail = (uint)PropertyIds.PersonHasEmail;
2971             /// <summary>
2972             /// Usage type, refer to the UsageTypes
2973             /// </summary>
2974             public const uint UsageType = (uint)PropertyIds.PersonUsageType;
2975             /// <summary>
2976             /// Usage number of person
2977             /// </summary>
2978             public const uint TimesUsed = (uint)PropertyIds.PersonTimesUsed;
2979
2980             /// <summary>
2981             /// Enumeration for Person usage type.
2982             /// </summary>
2983             public enum Types
2984             {
2985                 /// <summary>
2986                 /// None
2987                 /// </summary>
2988                 None,
2989                 /// <summary>
2990                 /// Outgoing call
2991                 /// </summary>
2992                 OutgoingCall,
2993                 /// <summary>
2994                 /// Outgoing message
2995                 /// </summary>
2996                 OutgoingMessage,
2997                 /// <summary>
2998                 /// Outgoing email
2999                 /// </summary>
3000                 OutgoingEmail,
3001                 /// <summary>
3002                 /// Incoming call
3003                 /// </summary>
3004                 IncomingCall,
3005                 /// <summary>
3006                 /// Incoming message
3007                 /// </summary>
3008                 IncomingMessage,
3009                 /// <summary>
3010                 /// Incoming email
3011                 /// </summary>
3012                 IncomingEmail,
3013                 /// <summary>
3014                 /// Missed call
3015                 /// </summary>
3016                 MissedCall,
3017                 /// <summary>
3018                 /// Rejected call
3019                 /// </summary>
3020                 RejectedCall,
3021                 /// <summary>
3022                 /// Blocked call
3023                 /// </summary>
3024                 BlockedCall,
3025                 /// <summary>
3026                 /// Blocked message
3027                 /// </summary>
3028                 BlockedMessage
3029             }
3030         };
3031
3032         /// <summary>
3033         /// Describes properies of a Contact & Number record.
3034         /// </summary>
3035         /// <remarks>Read only view</remarks>
3036         public static class ContactNumber
3037         {
3038             /// <summary>
3039             /// Identifier of this contacts number view
3040             /// </summary>
3041             public const string Uri = "tizen.contacts_view.simple_contact/number";
3042             /// <summary>
3043             /// Contact ID that the number belongs to
3044             /// </summary>
3045             public const uint ContactId = (uint)PropertyIds.ContactId;
3046             /// <summary>
3047             /// Display name of contact that the number belongs to
3048             /// </summary>
3049             public const uint DisplayName = (uint)PropertyIds.ContactDisplayName;
3050             /// <summary>
3051             /// The source type of display name, refer to the Contact.DisplayNameSourceTypes (projection)
3052             /// </summary>
3053             public const uint DisplaySourceType = (uint)PropertyIds.ContactDisplaySourceDataId;
3054             /// <summary>
3055             /// Addressbook ID that the number belongs to
3056             /// </summary>
3057             public const uint AddressbookId = (uint)PropertyIds.ContactAddressbookId;
3058             /// <summary>
3059             /// Person ID that the number belongs to
3060             /// </summary>
3061             public const uint PersonId = (uint)PropertyIds.ContactPersonId;
3062             /// <summary>
3063             /// Ringtone path that the number belongs to (projection)
3064             /// </summary>
3065             public const uint RingtonePath = (uint)PropertyIds.ContactRingtone;
3066             /// <summary>
3067             /// Image thumbnail path that the number belongs to (projection)
3068             /// </summary>
3069             public const uint ThumbnailPath = (uint)PropertyIds.ContactThumbnail;
3070             /// <summary>
3071             /// DB record ID of the number
3072             /// </summary>
3073             public const uint NumberId = (uint)PropertyIds.NumberId;
3074             /// <summary>
3075             /// Number type, refer to the Number.Types (projection)
3076             /// </summary>
3077             public const uint Type = (uint)PropertyIds.NumberType;
3078             /// <summary>
3079             /// Custom number type label, when the number type is Number.Types.Custom (projection)
3080             /// </summary>
3081             public const uint Label = (uint)PropertyIds.NumberLabel;
3082             /// <summary>
3083             /// The number is default number or not
3084             /// </summary>
3085             public const uint IsDefault = (uint)PropertyIds.NumberIsDefault;
3086             /// <summary>
3087             /// Number
3088             /// </summary>
3089             public const uint Number = (uint)PropertyIds.NumberNumber;
3090             /// <summary>
3091             /// If you add filter with this property, the string will be normalized as minmatch length internally and the match rule will be applied ContactsFilter.StringMatchType.Exactly
3092             /// </summary>
3093             public const uint NumberFilter = (uint)PropertyIds.NumberNumberFilter;
3094             /// <summary>
3095             /// You can only use this property for search filter
3096             /// </summary>
3097             public const uint NormalizedNumber = (uint)PropertyIds.NumberNormalizedNumber;
3098             /// <summary>
3099             /// You can only use this property for search filter
3100             /// </summary>
3101             public const uint CleanedNumber = (uint)PropertyIds.NumberCleanedNumber;
3102         };
3103
3104         /// <summary>
3105         /// Describes properies of a Contact & Email record.
3106         /// </summary>
3107         /// <remarks>Read only view</remarks>
3108         public static class ContactEmail
3109         {
3110             /// <summary>
3111             /// Identifier of this contacts email view
3112             /// </summary>
3113             public const string Uri = "tizen.contacts_view.simple_contact/email";
3114             /// <summary>
3115             /// Contact ID that the number belongs to
3116             /// </summary>
3117             public const uint ContactId = (uint)PropertyIds.ContactId;
3118             /// <summary>
3119             /// Display name of contact that the number belongs to
3120             /// </summary>
3121             public const uint DisplayName = (uint)PropertyIds.ContactDisplayName;
3122             /// <summary>
3123             /// The source type of display name, refer to the Contact.DisplayNameSourceTypes (projection)
3124             /// </summary>
3125             public const uint DisplaySourceType = (uint)PropertyIds.ContactDisplaySourceDataId;
3126             /// <summary>
3127             /// Addressbook ID that the number belongs to
3128             /// </summary>
3129             public const uint AddressbookId = (uint)PropertyIds.ContactAddressbookId;
3130             /// <summary>
3131             /// Person ID that the number belongs to
3132             /// </summary>
3133             public const uint PersonId = (uint)PropertyIds.ContactPersonId;
3134             /// <summary>
3135             /// Ringtone path that the number belongs to (projection)
3136             /// </summary>
3137             public const uint RingtonePath = (uint)PropertyIds.ContactRingtone;
3138             /// <summary>
3139             /// Image thumbnail path that the number belongs to (projection)
3140             /// </summary>
3141             public const uint ThumbnailPath = (uint)PropertyIds.ContactThumbnail;
3142             /// <summary>
3143             /// DB record ID of the email
3144             /// </summary>
3145             public const uint EmailId = (uint)PropertyIds.EmailId;
3146             /// <summary>
3147             /// Email type, refer to the Email.Types (projection)
3148             /// </summary>
3149             public const uint Type = (uint)PropertyIds.EmailType;
3150             /// <summary>
3151             /// Custom mail type label, when the email type is Email.Types.Custom (projection)
3152             /// </summary>
3153             public const uint Label = (uint)PropertyIds.EmailLabel;
3154             /// <summary>
3155             /// Email is default email or not
3156             /// </summary>
3157             public const uint IsDefault = (uint)PropertyIds.EmailIsDefault;
3158             /// <summary>
3159             /// Email address
3160             /// </summary>
3161             public const uint Email = (uint)PropertyIds.EmailEmail;
3162         };
3163
3164         /// <summary>
3165         /// Describes properies of a Contact & Group Relation record.
3166         /// </summary>
3167         /// <remarks>Read only view</remarks>
3168         public static class ContactGroupRelation
3169         {
3170             /// <summary>
3171             /// Identifier of this contact grouprel view
3172             /// </summary>
3173             public const string Uri = "tizen.contacts_view.simple_contact/group";
3174             /// <summary>
3175             /// Contact ID that the number belongs to
3176             /// </summary>
3177             public const uint ContactId = (uint)PropertyIds.ContactId;
3178             /// <summary>
3179             /// Display name of contact that the number belongs to
3180             /// </summary>
3181             public const uint DisplayName = (uint)PropertyIds.ContactDisplayName;
3182             /// <summary>
3183             /// The source type of display name, refer to the Contact.DisplayNameSourceTypes (projection)
3184             /// </summary>
3185             public const uint DisplaySourceType = (uint)PropertyIds.ContactDisplaySourceDataId;
3186             /// <summary>
3187             /// Addressbook ID that the number belongs to
3188             /// </summary>
3189             public const uint AddressbookId = (uint)PropertyIds.ContactAddressbookId;
3190             /// <summary>
3191             /// Person ID that the number belongs to
3192             /// </summary>
3193             public const uint PersonId = (uint)PropertyIds.ContactPersonId;
3194             /// <summary>
3195             /// Ringtone path that the number belongs to (projection)
3196             /// </summary>
3197             public const uint RingtonePath = (uint)PropertyIds.ContactRingtone;
3198             /// <summary>
3199             /// Image thumbnail path that the number belongs to (projection)
3200             /// </summary>
3201             public const uint ThumbnailPath = (uint)PropertyIds.ContactThumbnail;
3202             /// <summary>
3203             /// DB record ID of the group relation
3204             /// </summary>
3205             public const uint GroupId = (uint)PropertyIds.GroupRelationGroupId;
3206             /// <summary>
3207             /// Group name (projection)
3208             /// </summary>
3209             public const uint GroupName = (uint)PropertyIds.GroupRelationGroupName;
3210         };
3211
3212         /// <summary>
3213         /// Describes properies of a Phone Log Statistics record.
3214         /// </summary>
3215         /// <remarks>Read only view</remarks>
3216         public static class PhonelogStatistics
3217         {
3218             /// <summary>
3219             /// Identifier of this log statistics view
3220             /// </summary>
3221             public const string Uri = "tizen.contacts_view.phonelog_stat";
3222             /// <summary>
3223             /// Log count (projection)
3224             /// </summary>
3225             public const uint LogCount = (uint)PropertyIds.PhonelogStatLogCount;
3226             /// <summary>
3227             /// Log type, see the contacts_phone_log_type_e
3228             /// </summary>
3229             public const uint LogType = (uint)PropertyIds.PhonelogStatLogType;
3230             /// <summary>
3231             /// It is related to the SIM slot number. sim_slot_no 0 means first SIM card, sim_slot_no 1 means second SIM. It is same with handle index of telephony handle list. Refer to the telephony_init()
3232             /// </summary>
3233             public const uint SIMSlotNo = (uint)PropertyIds.PhonelogStatSIMSlotNo;
3234         };
3235     }
3236 }