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