2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 // Licensed under the Apache License, Version 2.0 (the License);
7 // you may not use this file except in compliance with the License.
8 // You may obtain a copy of the License at
10 // http://www.apache.org/licenses/LICENSE-2.0
12 // Unless required by applicable law or agreed to in writing, software
13 // distributed under the License is distributed on an "AS IS" BASIS,
14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 // See the License for the specific language governing permissions and
16 // limitations under the License.
21 * @brief This is the header file for the types in the Social namespace.
23 * This header file contains the declarations of the types in the Social namespace.
25 #ifndef _FSCL_TYPES_H_
26 #define _FSCL_TYPES_H_
28 namespace Tizen { namespace Base
33 namespace Tizen { namespace Social
37 * A unique ID. This ID is unique within a local storage only. @n
38 * @c RecordId is assigned by the local storage (for example, Addressbook and Calendarbook) when a record is saved to the storage. @n
39 * A newly constructed record instance has @c INVALID_RECORD_ID.
46 * An invalid record ID. @n
47 * The record has not been properly recorded to Addressbook.
51 const RecordId INVALID_RECORD_ID = -1;
54 * @typedef RecurrenceId
55 * Defines the recurrence ID which is used to identify a specific instance of a recurring calendar component (CalEvent). @n
56 * The value type is @c Tizen::Base::DateTime. The property value is the effective value of the start time ("DTSTART" property) of the Recurrence instance.
60 typedef Tizen::Base::DateTime RecurrenceId;
64 * The maximum length of a service provider.
70 static const int MAX_SERVICE_PROVIDER_LENGTH = 30;
74 * The maximum length of an account.
80 static const int MAX_ACCOUNT_LENGTH = 320;
84 * The maximum length of the name property.
86 * @brief <i> [Deprecated] </i>
87 * @deprecated This constant is deprecated.
91 static const int MAX_ATTENDEE_NAME_LENGTH = 100;
95 * The maximum length of the email property.
97 * @brief <i> [Deprecated] </i>
98 * @deprecated This constant is deprecated.
102 static const int MAX_ATTENDEE_EMAIL_LENGTH = 320;
106 * The maximum length of the subject field.
108 * @brief <i> [Deprecated] </i>
109 * @deprecated This constant is deprecated.
113 static const int MAX_EVENT_SUBJECT_LENGTH = 100;
117 * The maximum length of the description field.
119 * @brief <i> [Deprecated] </i>
120 * @deprecated This constant is deprecated.
124 static const int MAX_EVENT_DESCRIPTION_LENGTH = 1000;
128 * The maximum length of the location field.
130 * @brief <i> [Deprecated] </i>
131 * @deprecated This constant is deprecated.
135 static const int MAX_EVENT_LOCATION_LENGTH = 100;
139 * The maximum length of the subject field.
141 * @brief <i> [Deprecated] </i>
142 * @deprecated This constant is deprecated.
146 static const int MAX_TODO_SUBJECT_LENGTH = 100;
150 * The maximum length of the description field.
152 * @brief <i> [Deprecated] </i>
153 * @deprecated This constant is deprecated.
157 static const int MAX_TODO_DESCRIPTION_LENGTH = 1000;
161 * The maximum recurrence interval value.
163 * @brief <i> [Deprecated] </i>
164 * @deprecated This constant is deprecated.
168 static const int MAX_RECURRENCE_INTERVAL_VALUE = 255;
172 * The maximum value of the reminder offset (in minutes).
174 * @brief <i> [Deprecated] </i>
175 * @deprecated This constant is deprecated.
179 static const int MAX_REMINDER_OFFSET_VALUE = 40320;
183 * The maximum length of the name properties (first, last, nickname, and formatted names).
185 * @brief <i> [Deprecated] </i>
186 * @deprecated This constant is deprecated because there is no limitation any more.
190 static const int MAX_CONTACT_NAME_LENGTH = 50;
194 * The maximum length of the job title property.
196 * @brief <i> [Deprecated] </i>
197 * @deprecated This constant is deprecated because there is no limitation any more.
201 static const int MAX_CONTACT_JOB_TITLE_LENGTH = 50;
205 * The maximum length of the company property.
207 * @brief <i> [Deprecated] </i>
208 * @deprecated This constant is deprecated because there is no limitation any more.
212 static const int MAX_CONTACT_COMPANY_LENGTH = 50;
216 * The maximum length of the note property.
218 * @brief <i> [Deprecated] </i>
219 * @deprecated This constant is deprecated because there is no limitation any more.
223 static const int MAX_CONTACT_NOTE_LENGTH = 100;
227 * The maximum length of the category name.
229 * @brief <i> [Deprecated] </i>
230 * @deprecated This constant is deprecated because the maximum length of the category name has been changed.
234 static const int MAX_CATEGORY_NAME_LENGTH = 20;
238 * The minimum length of the query string for searching the contacts by name.
240 * @brief <i> [Deprecated] </i>
241 * @deprecated This value is deprecated.
244 * @see Addressbook::SearchContactsByNameN()
247 static const int MIN_NAME_QUERY_LENGTH = 1;
251 * The minimum length of the query string for searching the contacts by phone number.
253 * @brief <i> [Deprecated] </i>
254 * @deprecated This value is deprecated.
257 * @see Addressbook::SearchContactsByPhoneNumberN()
260 static const int MIN_PHONENUMBER_QUERY_LENGTH = 4;
264 * The minimum length of the query string for searching the contacts by email.
266 * @brief <i> [Deprecated] </i>
267 * @deprecated This value is deprecated.
270 * @see Addressbook::SearchContactsByEmailN()
273 static const int MIN_EMAIL_QUERY_LENGTH = 1;
277 * The maximum length of the email property.
279 * @brief <i> [Deprecated] </i>
280 * @deprecated This constant is deprecated because there is no limitation any more.
284 static const int MAX_EMAIL_LENGTH = 100;
287 * @enum ContactPropertyId
289 * Defines the IDs for accessing the single value type properties of Contact.
292 enum ContactPropertyId
294 CONTACT_PROPERTY_ID_FIRST_NAME = 1, /**< The first name property ID (String type) */
295 CONTACT_PROPERTY_ID_LAST_NAME, /**< The last name property ID (String type) */
296 CONTACT_PROPERTY_ID_DISPLAY_NAME, /**< The formatted name property ID (String type) */
297 CONTACT_PROPERTY_ID_NICK_NAME, /**< @if OSPDEPREC The nick name property ID (String type)
298 @deprecated This enum field is deprecated because there can be multiple nicknames
299 in a contact. Instead of using this, use ContactMultiPropertyId::CONTACT_MPROPERTY_ID_NICKNAMES. @endif */
300 CONTACT_PROPERTY_ID_THUMBNAIL, /**< @if OSPDEPREC The thumbnail property ID (Bitmap type)
301 @deprecated This enumeration field is deprecated because it is not used any longer. @endif */
302 CONTACT_PROPERTY_ID_BIRTHDAY, /**< @if OSPDEPREC The birthday property ID (DateTime type)
303 @deprecated This enum field is deprecated because there can be multiple birthday events.
304 Instead of using this, use ContactMultiPropertyId::CONTACT_MPROPERTY_ID_EVENTS. @endif */
305 CONTACT_PROPERTY_ID_JOB_TITLE, /**< @if OSPDEPREC The job title property ID (String type)
306 @deprecated This enum field is deprecated because there can be multiple organizational information.
307 Instead of using this, use ContactMultiPropertyId::CONTACT_MPROPERTY_ID_ORGANIZATIONS. @endif */
308 CONTACT_PROPERTY_ID_COMPANY, /**< @if OSPDEPREC The company property ID (String type)
309 @deprecated This enum field is deprecated because there can be multiple organizational information.
310 Instead of using this, use ContactMultiPropertyId::CONTACT_MPROPERTY_ID_ORGANIZATIONS.@endif */
311 CONTACT_PROPERTY_ID_NOTE, /**< @if OSPDEPREC The note property ID (String type)
312 @deprecated This enum field is deprecated because there can be multiple notes
313 in a contact. Instead of using this, use ContactMultiPropertyId::CONTACT_MPROPERTY_ID_NOTES.@endif */
314 CONTACT_PROPERTY_ID_ANNIVERSARY, /**< @if OSPDEPREC The anniversary property ID (DateTime type)
315 @deprecated This enum field is deprecated because there can be multiple anniversary events.
316 Instead of using this, use ContactMultiPropertyId::CONTACT_MPROPERTY_ID_EVENTS.@endif */
317 CONTACT_PROPERTY_ID_RINGTONE, /**< The ringtone property ID (String type) */
318 CONTACT_PROPERTY_ID_MIDDLE_NAME, /**< The middle name property ID (String type) */
319 CONTACT_PROPERTY_ID_LAST_REVISION, /**< An ID for the calendar date and time for the last update in Coordinated Universal Time (UTC) @n Read-only (DateTime type). */
320 CONTACT_PROPERTY_ID_NAME_PREFIX, /**< The name honorific prefix property ID (String type) */
321 CONTACT_PROPERTY_ID_NAME_SUFFIX, /**< The name honorific suffix property ID (String type) */
325 * @enum ContactMultiPropertyId
327 * Defines the IDs for accessing the multi-value type properties of a %Contact. @n
328 * The properties have several values and they are called multi-type properties.
331 enum ContactMultiPropertyId
333 CONTACT_MPROPERTY_ID_PHONE_NUMBERS, /**< The phone number property ID (PhoneNumber class) */
334 CONTACT_MPROPERTY_ID_EMAILS, /**< The email property ID (Email class) */
335 CONTACT_MPROPERTY_ID_URLS, /**< The URL property ID (Url class) */
336 CONTACT_MPROPERTY_ID_ADDRESSES, /**< The address property ID (Address class) */
337 CONTACT_MPROPERTY_ID_IMADDRESSES, /**< The Instant Message property ID (ImAddress class) */
338 CONTACT_MPROPERTY_ID_EVENTS, /**< The contact event property ID (ContactEvent type) */
339 CONTACT_MPROPERTY_ID_ORGANIZATIONS, /**< The organization property ID (Organization type) */
340 CONTACT_MPROPERTY_ID_NOTES, /**< The note property ID (String type) */
341 CONTACT_MPROPERTY_ID_NICKNAMES, /**< The nickname property ID (String type) */
342 CONTACT_MPROPERTY_ID_RELATIONSHIPS, /**< The relationship property ID (Relationship type) */
347 * The number of #ContactPropertyId factors.
349 * @brief <i> [Deprecated] </i>
350 * @deprecated This constant is deprecated it is not used any more.
354 static const int CONTACT_PROPERTY_ID_NUM = 14;
358 * The number of #ContactMultiPropertyId factors.
360 * @brief <i> [Deprecated] </i>
361 * @deprecated This constant is deprecated it is not used any more.
365 static const int CONTACT_MPROPERTY_ID_NUM = 5;
368 * @enum RecordSensitivity
369 * Defines the sensitivity type of the calendar book record. @n
370 * This value represents the access classification property of @c vCalendar and @c iCalendar.
374 enum RecordSensitivity
376 SENSITIVITY_PUBLIC, /**< The public sensitivity */
377 SENSITIVITY_PRIVATE, /**< The private sensitivity */
378 SENSITIVITY_CONFIDENTIAL /**< The confidential sensitivity */
383 * @brief Defines the role of the attendee.
388 ATTENDEE_ROLE_ATTENDEE, /**< The attendee */
389 ATTENDEE_ROLE_REQUIRED_ATTENDEE, /**< The required attendee */
390 ATTENDEE_ROLE_ORGANIZER /**< The organizer */
394 * @enum AttendeeStatus
396 * Defines the possible status of the attendee.
401 ATTENDEE_STATUS_NONE, /**< The none status */
402 ATTENDEE_STATUS_NOT_RESPONDED, /**< The not-responded status */
403 ATTENDEE_STATUS_ACCEPTED, /**< The accepted status */
404 ATTENDEE_STATUS_DECLINED, /**< The declined status*/
405 ATTENDEE_STATUS_TENTATIVE, /**< The tentative status*/
410 * @enum EventCategory
411 * @brief <i> [Deprecated] </i> Defines the categories to classify the event.
413 * @deprecated This enum type is deprecated because the category of event is not used any more.
419 EVENT_CATEGORY_APPOINTMENT = 0x00000001, /**< @if OSPDEPREC The appointment category @endif */
420 EVENT_CATEGORY_ANNIVERSARY = 0x00000002, /**< @if OSPDEPREC The anniversary category @endif */
425 * All the event categories.
427 * @brief <i> [Deprecated] </i>
428 * @deprecated This constant is deprecated because the category of event is not used any more.
432 static const unsigned long EVENT_CATEGORY_ALL = EVENT_CATEGORY_APPOINTMENT | EVENT_CATEGORY_ANNIVERSARY;
435 * @enum EventPriority
436 * @brief Defines the possible priority levels of the event.
442 EVENT_PRIORITY_LOW, /**< The low priority */
443 EVENT_PRIORITY_NORMAL, /**< The normal priority */
444 EVENT_PRIORITY_HIGH /**< The high priority */
449 * @brief Defines the possible statuses of the event.
455 EVENT_STATUS_NONE, /**< The none status */
456 EVENT_STATUS_CONFIRMED, /**< The confirmed status */
457 EVENT_STATUS_CANCELLED, /**< The canceled status */
458 EVENT_STATUS_TENTATIVE /**< The tentative status */
463 * @brief Defines the busy statuses of the event.
469 BUSY_STATUS_FREE, /**< The free status */
470 BUSY_STATUS_BUSY, /**< The busy status */
471 BUSY_STATUS_UNAVAILABLE, /**< The unavailable status */
472 BUSY_STATUS_TENTATIVE /**< The tentative status */
477 * Defines the possible to-do status types.
483 TODO_STATUS_NONE = 0x00000001, /**< The none status */
484 TODO_STATUS_NEEDS_ACTION = 0x00000002, /**< The needs action status */
485 TODO_STATUS_COMPLETED = 0x00000004, /**< The completed status */
486 TODO_STATUS_IN_PROCESS = 0x00000008, /**< The in process status */
487 TODO_STATUS_CANCELLED = 0x00000010, /**< The canceled status */
490 /** All the to-do statuses.
494 static const unsigned long TODO_STATUS_ALL = TODO_STATUS_NONE | TODO_STATUS_NEEDS_ACTION | TODO_STATUS_COMPLETED |
495 TODO_STATUS_IN_PROCESS | TODO_STATUS_CANCELLED;
499 * Defines the possible to-do priority levels.
505 TODO_PRIORITY_LOW = 0x00000001, /**< The low priority */
506 TODO_PRIORITY_NORMAL = 0x00000002, /**< The normal priority */
507 TODO_PRIORITY_HIGH = 0x00000004, /**< The high priority */
510 /** All the to-do priorities.
514 static const unsigned long TODO_PRIORITY_ALL = TODO_PRIORITY_LOW | TODO_PRIORITY_NORMAL | TODO_PRIORITY_HIGH;
518 * @enum RecordEventType
519 * Defines the record event types.
521 * @brief <i> [Deprecated] </i>
522 * @deprecated This enum is deprecated because IRecordEventListener interface is deprecated.
529 RECORD_ADDED, /**< @if OSPDEPREC The adding of a new record @endif */
530 RECORD_UPDATED, /**< @if OSPDEPREC The updating of a record @endif */
531 RECORD_REMOVED, /**< @if OSPDEPREC The removal of a record @endif */
532 ALL_RECORDS_REMOVED, /**<
534 * The removal of all records @n
535 * @deprecated This enum value is deprecated because it's not used any more.
538 MULTI_RECORDS_ADDED, /**< @if OSPDEPREC The adding of multiple records @endif */
539 MULTI_RECORDS_UPDATED, /**< @if OSPDEPREC The adding, updating, and/or removal of multiple records @endif */
540 MULTI_RECORDS_REMOVED /**< @if OSPDEPREC The removal of multiple records @endif */
544 * @enum RecurFrequency
545 * Defines the recurrence frequency type.
551 FREQ_DAILY, /**< The daily recurrence */
552 FREQ_WEEKLY, /**< The weekly recurrence */
553 FREQ_MONTHLY, /**< The monthly recurrence */
554 FREQ_YEARLY /**< The yearly recurrence */
559 * Defines the day of week type.
565 CAL_SUNDAY = 0x0001, /**< The day of the week is Sunday */
566 CAL_MONDAY = 0x0002, /**< The day of the week is Monday */
567 CAL_TUESDAY = 0x0004, /**< The day of the week is Tuesday */
568 CAL_WEDNESDAY = 0x0008, /**< The day of the week is Wednesday */
569 CAL_THURSDAY = 0x0010, /**< The day of the week is Thursday */
570 CAL_FRIDAY = 0x0020, /**< The day of the week is Friday */
571 CAL_SATURDAY = 0x0040 /**< The day of the week is Saturday */
575 * @enum RecordChangeType
576 * Defines the change type of a Record.
580 enum RecordChangeType
582 RECORD_CHANGE_TYPE_ADDED, /**< A record is added */
583 RECORD_CHANGE_TYPE_REMOVED, /**< A record is removed */
584 RECORD_CHANGE_TYPE_UPDATED, /**< A record is updated */
588 * @enum CalendarItemType
589 * Defines item types to specify which kind of item the calendar can contain.
593 enum CalendarItemType
595 CALENDAR_ITEM_TYPE_EVENT_ONLY = 0x1, /**< The item type for event */
596 CALENDAR_ITEM_TYPE_TODO_ONLY = 0x2, /**< The item type for to-do item */
597 CALENDAR_ITEM_TYPE_EVENT_AND_TODO = 0x3 /**< The item type for event and to-do item */
601 * @enum PhoneNumberType
603 * Defines the types of phone number.
608 PHONENUMBER_TYPE_HOME, /**< The phone number type for home telephone*/
609 PHONENUMBER_TYPE_WORK, /**< The phone number type for work telephone*/
610 PHONENUMBER_TYPE_MOBILE, /**< The phone number type for mobile */
611 PHONENUMBER_TYPE_HOME_FAX, /**< The phone number type for home fax */
612 PHONENUMBER_TYPE_WORK_FAX, /**< The phone number type for work fax */
613 PHONENUMBER_TYPE_PAGER, /**< The phone number type for pager */
614 PHONENUMBER_TYPE_OTHER, /**< The phone number type for other */
615 PHONENUMBER_TYPE_CUSTOM /**< The custom type @n The actual type can be set in the label. */
619 * @enum ReminderTimeUnit
620 * Defines the reminder time unit.
624 enum ReminderTimeUnit
626 REMINDER_TIME_UNIT_MINUTE, /**< The unit of time offset is minute */
627 REMINDER_TIME_UNIT_HOUR, /**< The unit of time offset is hour */
628 REMINDER_TIME_UNIT_DAY, /**< The unit of time offset is day */
629 REMINDER_TIME_UNIT_WEEK /**< The unit of time offset is week */
635 * Defines the types of email.
641 EMAIL_TYPE_PERSONAL, /**< The email type for personal*/
642 EMAIL_TYPE_WORK, /**< The email type for work */
643 EMAIL_TYPE_OTHER, /**< The email type for other */
644 EMAIL_TYPE_CUSTOM /**< The custom type @n The actual type can be set in the label. */
650 * Defines the types of address.
656 ADDRESS_TYPE_HOME, /**< The address type for home address*/
657 ADDRESS_TYPE_WORK, /**< The address type for work address*/
658 ADDRESS_TYPE_OTHER, /**< The address type for other*/
659 ADDRESS_TYPE_CUSTOM /**< The custom type @n The actual type can be set in the label. */
663 * @enum ContactEventType
665 * Defines the types of event.
669 enum ContactEventType
671 CONTACT_EVENT_TYPE_BIRTHDAY, /**< The event type for birthday */
672 CONTACT_EVENT_TYPE_ANNIVERSARY, /**< The event type for anniversary */
673 CONTACT_EVENT_TYPE_OTHER, /**< The event type for other */
674 CONTACT_EVENT_TYPE_CUSTOM /**< The custom event @n The actual type can be set in the label. */
680 * Defines the types of URL.
686 URL_TYPE_PERSONAL, /**< The URL type is personal */
687 URL_TYPE_WORK, /**< The URL type is work */
688 URL_TYPE_OTHER, /**< The URL type is other */
689 URL_TYPE_CUSTOM /**< The custom type @n The actual type can be set in the label. */
693 * @enum RelationshipType
695 * Defines the types of relationship.
699 enum RelationshipType
701 CONTACT_RELATIONSHIP_TYPE_ASSISTANT, /**< The relation type for assistant */
702 CONTACT_RELATIONSHIP_TYPE_BROTHER, /**< The relation type for brother */
703 CONTACT_RELATIONSHIP_TYPE_CHILD, /**< The relation type for child */
704 CONTACT_RELATIONSHIP_TYPE_DOMESTIC_PARTNER, /**< The relation type for domestic partner */
705 CONTACT_RELATIONSHIP_TYPE_FATHER, /**< The relation type for father */
706 CONTACT_RELATIONSHIP_TYPE_FRIEND, /**< The relation type for friend */
707 CONTACT_RELATIONSHIP_TYPE_MANAGER, /**< The relation type for manager */
708 CONTACT_RELATIONSHIP_TYPE_MOTHER, /**< The relation type for mother */
709 CONTACT_RELATIONSHIP_TYPE_PARENT, /**< The relation type for parent */
710 CONTACT_RELATIONSHIP_TYPE_PARTNER, /**< The relation type for partner */
711 CONTACT_RELATIONSHIP_TYPE_REFERRED_BY, /**< The relation type for referred-by */
712 CONTACT_RELATIONSHIP_TYPE_RELATIVE, /**< The relation type for relative */
713 CONTACT_RELATIONSHIP_TYPE_SISTER, /**< The relation type for sister */
714 CONTACT_RELATIONSHIP_TYPE_SPOUSE, /**< The relation type for spouse */
715 CONTACT_RELATIONSHIP_TYPE_CUSTOM /**< The custom event @n The actual type can be set in the label. */
719 * The maximum length of the phone number property.
721 * @brief <i> [Deprecated] </i>
722 * @deprecated This constant is deprecated because there is no limitation any more.
726 static const int MAX_PHONE_NUMBER_LENGTH = 50;
728 //This value is for internal use only. Using this value can cause behavioral,
729 //security-related, and consistency-related issues in the application.
730 typedef int AccountId;
737 typedef int PersonId;
741 * The addressbook ID.
745 typedef int AddressbookId;
748 * An invalid address book ID indicates that the address book has not been properly stored to the address book database.
752 static const AddressbookId INVALID_ADDRESSBOOK_ID = -2;
755 * The default addressbook ID.
759 static const AddressbookId DEFAULT_ADDRESSBOOK_ID = 0;
762 * @enum FilterConjunctiveOperator
763 * Defines the conjunctive operators to compound the filtering expressions.
767 enum FilterConjunctiveOperator
769 FI_CONJ_OP_NONE, /**< None */
770 FI_CONJ_OP_AND, /**< AND operator */
771 FI_CONJ_OP_OR, /**< OR operator */
775 * @enum FilterComparisonOperator
776 * Defines the comparison operators.
780 enum FilterComparisonOperator
782 FI_CMP_OP_EQUAL, /**< = operator */
783 FI_CMP_OP_LESS_THAN, /**< < operator */
784 FI_CMP_OP_LESS_THAN_OR_EQUAL, /**< <= operator */
785 FI_CMP_OP_GREATER_THAN, /**< > operator*/
786 FI_CMP_OP_GREATER_THAN_OR_EQUAL, /**< >= operator */
787 FI_CMP_OP_IS_NULL, /**< IS NULL operator */
791 * @enum FilterStringOperator
792 * Defines the matching criteria for Strings.
796 enum FilterStringOperator
798 FI_STR_OP_EQUAL, /**< The operator for matching the string exactly */
799 FI_STR_OP_FULL_STRING, /**< The operator for matching the full-string without case sensitive */
800 FI_STR_OP_START_WITH, /**< The operator for matching the string starting with the specified keyword */
801 FI_STR_OP_END_WITH, /**< The operator for matching the string ending with the specified keyword */
802 FI_STR_OP_CONTAIN, /**< The operator for matching the string containing the specified keyword */
803 FI_STR_OP_IS_NOT_NULL, /**< The operator for matching any string(except NULL) @n The specified is ignored. */
807 * @enum AddressbookFilterType
808 * Defines the type of the filter for Addressbook.
812 enum AddressbookFilterType
814 AB_FI_TYPE_ADDRESSBOOK, /**< The filter for the addressbooks @n AddressbookFilterProperty is only used in this type filter.
815 The search result with this filter is a list of Addressbook. */
816 AB_FI_TYPE_PERSON, /**< The filter for the persons @n PersonFilterProperty is only used in this type filter.
817 The search result with this filter is a list of Person. */
818 AB_FI_TYPE_CONTACT, /**< The filter for the contacts @n ContactFilterProperty is only used in this type filter.
819 The search result with this filter is a list of Contact. */
820 AB_FI_TYPE_CATEGORY, /**< The filter for the categories @n CategoryFilterProperty is only used in this type filter.
821 The search result with this filter is a list of Category. */
822 AB_FI_TYPE_PHONE_CONTACT, /**< The filter for the contacts with phone number @n PhoneContactFilterProperty is only used in this type filter.
823 The search result with this filter is a list of PhoneNumberContact. */
824 AB_FI_TYPE_EMAIL_CONTACT, /**< The filter for the contacts with email @n EmailContactFilterProperty is only used in this type filter.
825 The search result with this filter is a list of EmailContact. */
829 * @enum AddressbookFilterProperty
830 * Defines the property for filtering the addressbooks.
831 * This properties can be used to create a AddressbookFilter of #AB_FI_TYPE_ADDRESSBOOK type.
835 enum AddressbookFilterProperty
837 AB_FI_PR_ADDRESSBOOK_ID = 1, /**< The addressbook ID: int (AddressbookId) */
838 AB_FI_PR_ACCOUNT_ID, /**< The account ID: int (AccountId) */
839 AB_FI_PR_NAME, /**< The addressbook name: String */
843 * @enum PersonFilterProperty
844 * Defines the property for filtering the persons.
845 * This properties can be used to create a AddressbookFilter of #AB_FI_TYPE_PERSON type.
849 enum PersonFilterProperty
851 PERSON_FI_PR_PERSON_ID = 100, /**< The person ID: int (RecordId) */
852 PERSON_FI_PR_DISPLAY_NAME, /**< The display name: String */
853 PERSON_FI_PR_HAS_PHONE, /**< Whether the person has phone numbers or not: bool */
854 PERSON_FI_PR_HAS_EMAIL, /**< Whether the person has emails or not: bool */
855 PERSON_FI_PR_IS_FAVORITE, /**< Whether the person is favorite or not: bool */
856 PERSON_FI_PR_CATEGORY_ID, /**< The category ID: int (RecordId) */
857 PERSON_FI_PR_ADDRESSBOOK_ID, /**< The addressbook ID: int (AddressbookId) */
861 * @enum ContactFilterProperty
862 * Defines the property for filtering the contacts.
863 * This properties can be used to create a AddressbookFilter of #AB_FI_TYPE_CONTACT type.
867 enum ContactFilterProperty
869 CONTACT_FI_PR_CONTACT_ID = 200, /**< The contact ID: int (RecordId) */
870 CONTACT_FI_PR_ADDRESSBOOK_ID, /**< The addressbook ID: int (AddressbookId) */
871 CONTACT_FI_PR_PERSON_ID, /**< The person ID: int (PersonId) */
872 CONTACT_FI_PR_DISPLAY_NAME, /**< The display name: String */
873 CONTACT_FI_PR_HAS_PHONE, /**< Whether the contact has phone numbers or not: bool */
874 CONTACT_FI_PR_HAS_EMAIL, /**< Whether the contact has emails or not: bool */
878 * @enum CategoryFilterProperty
879 * Defines the property for filtering the categories.
880 * This properties can be used to create a AddressbookFilter of #AB_FI_TYPE_CATEGORY type.
884 enum CategoryFilterProperty
886 CATEGORY_FI_PR_CATEGORY_ID = 300, /**< The category ID: int (RecordId) */
887 CATEGORY_FI_PR_ADDRESSBOOK_ID, /**< The addressbook ID: int (AddressbookId) */
888 CATEGORY_FI_PR_NAME, /**< The category name: String */
892 * @enum PhoneContactFilterProperty
893 * Defines the property for filtering the contacts with phone number.
894 * This properties can be used to create a AddressbookFilter of #AB_FI_TYPE_PHONE_CONTACT type.
898 enum PhoneContactFilterProperty
900 PHONE_CONTACT_FI_PR_CONTACT_ID = 400, /**< The contact ID: int (RecordId) */
901 PHONE_CONTACT_FI_PR_ADDRESSBOOK_ID, /**< The addressbook ID: int (AddressbookId) */
902 PHONE_CONTACT_FI_PR_PERSON_ID, /**< The person ID: int (PersonId) */
903 PHONE_CONTACT_FI_PR_DISPLAY_NAME, /**< The display name: String */
904 PHONE_CONTACT_FI_PR_PHONE, /**< The phone number: String */
908 * @enum EmailContactFilterProperty
909 * Defines the property for filtering the contacts with email.
910 * This properties can be used to create a AddressbookFilter of #AB_FI_TYPE_EMAIL_CONTACT type.
914 enum EmailContactFilterProperty
916 EMAIL_CONTACT_FI_PR_CONTACT_ID = 500, /**< The contact ID: int (RecordId) */
917 EMAIL_CONTACT_FI_PR_ADDRESSBOOK_ID, /**< The addressbook ID: int (AddressbookId) */
918 EMAIL_CONTACT_FI_PR_PERSON_ID, /**< The person ID: int (PersonId) */
919 EMAIL_CONTACT_FI_PR_DISPLAY_NAME, /**< The display name: String */
920 EMAIL_CONTACT_FI_PR_EMAIL, /**< The email: String */
924 * @enum CalendarbookFilterType
925 * Defines the type of the filter for Calendarbook.
929 enum CalendarbookFilterType
931 CB_FI_TYPE_EVENT, /**< The filter for the event of Calendarbook @n EventFilterProperty is only used in this type filter. The search result with this filter is a list of CalEvent. */
932 CB_FI_TYPE_TODO, /**< The filter for the to-do of Calendarbook @n TodoFilterProperty is only used in this type filter. The search result with this filter is a list of CalTodo. */
933 CB_FI_TYPE_CALENDAR, /**< The filter for the calendar of Calendarbook @n CalendarFilterProperty is only used in this type filter. The search result with this filter is a list of Calendar. */
934 CB_FI_TYPE_ALL_DAY_EVENT_INSTANCE, /**< The filter for all day event instance of Calendarbook @n EventInstanceFilterProperty is only used in this type filter. The search result with this filter is a list of CalEventInstance. */
935 CB_FI_TYPE_NON_ALL_DAY_EVENT_INSTANCE /**< The filter for non-all day event instance of Calendarbook @n EventInstanceFilterProperty is only used in this type filter. The search result with this filter is a list of CalEventInstance. */
939 * @enum EventFilterProperty
940 * Defines the property for filtering the events.
941 * This properties can be used to create a CalendarbookFilter of CB_FI_TYPE_EVENT type.
945 enum EventFilterProperty
947 EVENT_FI_PR_EVENT_ID = 1, /**< The event id: int (RecordId) */
948 EVENT_FI_PR_CALENDAR_ID, /**< The calendar id: long long (RecordId) */
949 EVENT_FI_PR_SUBJECT, /**< The subject of the event: String */
950 EVENT_FI_PR_DESCRIPTION, /**< The description of the event: String */
951 EVENT_FI_PR_LOCATION, /**< The location of the event: String */
952 EVENT_FI_PR_BUSY_STATUS, /**< The busy status of the event: int (BusyStatus) */
953 EVENT_FI_PR_PRIORITY, /**< The priority of the event: int (EventPriority) */
954 EVENT_FI_PR_SENSITIVITY, /**< The sensitivity of the event: int (RecordSensitivity) */
955 EVENT_FI_PR_STATUS, /**< The status of the event: int (EventStatus) */
956 EVENT_FI_PR_UID, /**< The uid of the event: String */
957 EVENT_FI_PR_LATITUDE, /**< The latitude of the event: Double */
958 EVENT_FI_PR_LONGITUDE, /**< The longitude of the event: Double */
959 EVENT_FI_PR_LAST_REVISED_TIME, /**< The last revised time of the event: DateTime */
960 EVENT_FI_PR_HAS_REMINDER, /**< Whether the event has the reminder or not: bool*/
961 EVENT_FI_PR_HAS_ATTENDEE /**< Whether the event has the attendee or not: bool*/
965 * @enum TodoFilterProperty
966 * Defines the property for filtering the to-dos.
967 * This properties can be used to create a CalendarbookFilter of CB_FI_TYPE_TODO type.
971 enum TodoFilterProperty
973 TODO_FI_PR_TODO_ID = 100, /**< The todo id: long long (RecordId) */
974 TODO_FI_PR_CALENDAR_ID, /**< The calendar id: long long (RecordId) */
975 TODO_FI_PR_START_DATE, /**< The start date of the to-do: DateTime*/
976 TODO_FI_PR_DUE_DATE, /**< The due date of the to-do: DateTime */
977 TODO_FI_PR_SUBJECT, /**< The subject of the to-do: String */
978 TODO_FI_PR_DESCRIPTION, /**< The description of the to-do: String */
979 TODO_FI_PR_LOCATION, /**< The location of the to-do: String */
980 TODO_FI_PR_PRIORITY, /**< The priority of the to-do: int (TodoPriority)*/
981 TODO_FI_PR_SENSITIVITY, /**< The sensitivity of the to-do: int (RecordSensitivity) */
982 TODO_FI_PR_STATUS, /**< The status of the to-do: int (TodoStatus) */
983 TODO_FI_PR_LATITUDE, /**< The latitude of the to-do: double*/
984 TODO_FI_PR_LONGITUDE, /**< The longitude of the to-do: double*/
985 TODO_FI_PR_LAST_REVISED_TIME, /**< The last revised time of the to-do: DateTime */
986 TODO_FI_PR_HAS_REMINDER /**< Whether the to-do has the reminder or not: bool*/
990 * @enum EventInstanceFilterProperty
991 * Defines the property for filtering the all day event instances or non-all day event instances.
992 * This properties can be used to create the CalendarbookFilter of CB_FI_TYPE_ALL_DAY_EVENT_INSTANCE type or CB_FI_TYPE_NON_ALL_DAY_EVENT_INSTANCE type.
996 enum EventInstanceFilterProperty
998 EVENT_INST_FI_PR_ORIGINAL_EVENT_ID = 200, /**< The original event id: int (RecordId) */
999 EVENT_INST_FI_PR_CALENDAR_ID, /**< The calendar id: int (RecordId) */
1000 EVENT_INST_FI_PR_START_TIME, /**< The start time of the event instance: DateTime */
1001 EVENT_INST_FI_PR_END_TIME, /**< The end time of the event instance: DateTime */
1002 EVENT_INST_FI_PR_SUBJECT, /**< The subject of the event instance: String */
1003 EVENT_INST_FI_PR_DESCRIPTION, /**< The description of the event instance: String */
1004 EVENT_INST_FI_PR_LOCATION, /**< The location of the event instance: String */
1005 EVENT_INST_FI_PR_BUSY_STATUS, /**< The busy status of the event instance: int (BusyStatus) */
1006 EVENT_INST_FI_PR_PRIORITY, /**< The priority of the event instance: int (EventPriority) */
1007 EVENT_INST_FI_PR_SENSITIVITY, /**< The sensitivity of the event instance: int (RecordSensitivity) */
1008 EVENT_INST_FI_PR_STATUS, /**< The status of the event instance: int (EventStatus) */
1009 EVENT_INST_FI_PR_LATITUDE, /**< The latitude of the event instance: Double */
1010 EVENT_INST_FI_PR_LONGITUDE, /**< The latitude of the event instance: Double */
1011 EVENT_INST_FI_PR_IS_RECURRING, /**< Whether the event instance is the recurring event or not: bool*/
1012 EVENT_INST_FI_PR_HAS_REMINDER /**< Whether the event instance has the reminder or not: bool*/
1016 * @enum CalendarFilterProperty
1017 * Defines the property for filtering the calendars.
1018 * This properties can be used to create a CalendarbookFilter of CB_FI_TYPE_CALENDAR type.
1022 enum CalendarFilterProperty
1024 CALENDAR_FI_PR_CALENDAR_ID = 400, /**< The calendar id: int (RecordId) */
1025 CALENDAR_FI_PR_ACCOUNT_ID, /**< The account id of calendar: int (AccountId) */
1026 CALENDAR_FI_PR_NAME, /**< The name of calendar: String */
1027 CALENDAR_FI_PR_ITEM_TYPE /**< The type of calendar: int (CalendarItemType) */
1032 #endif // _FSCL_TYPES_H_