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