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