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