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