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 * A unique ID for an account. @n
55 * If an account is added successfully, an @c AccountId is automatically assigned to the account.
59 typedef int AccountId;
62 * An invalid account ID.
66 const AccountId INVALID_ACCOUNT_ID = -1;
69 * @typedef RecurrenceId
70 * Defines the recurrence ID that is used to identify a specific instance of a recurring calendar component (CalEvent). @n
71 * 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.
75 typedef Tizen::Base::DateTime RecurrenceId;
79 * The maximum length of the name property.
81 * @brief <i> [Deprecated] </i>
82 * @deprecated This constant is deprecated.
86 static const int MAX_ATTENDEE_NAME_LENGTH = 100;
90 * The maximum length of the email property.
92 * @brief <i> [Deprecated] </i>
93 * @deprecated This constant is deprecated.
97 static const int MAX_ATTENDEE_EMAIL_LENGTH = 320;
101 * The maximum length of the subject field.
103 * @brief <i> [Deprecated] </i>
104 * @deprecated This constant is deprecated.
108 static const int MAX_EVENT_SUBJECT_LENGTH = 100;
112 * The maximum length of the description field.
114 * @brief <i> [Deprecated] </i>
115 * @deprecated This constant is deprecated.
119 static const int MAX_EVENT_DESCRIPTION_LENGTH = 1000;
123 * The maximum length of the location field.
125 * @brief <i> [Deprecated] </i>
126 * @deprecated This constant is deprecated.
130 static const int MAX_EVENT_LOCATION_LENGTH = 100;
134 * The maximum length of the subject field.
136 * @brief <i> [Deprecated] </i>
137 * @deprecated This constant is deprecated.
141 static const int MAX_TODO_SUBJECT_LENGTH = 100;
145 * The maximum length of the description field.
147 * @brief <i> [Deprecated] </i>
148 * @deprecated This constant is deprecated.
152 static const int MAX_TODO_DESCRIPTION_LENGTH = 1000;
156 * The maximum recurrence interval value.
158 * @brief <i> [Deprecated] </i>
159 * @deprecated This constant is deprecated.
163 static const int MAX_RECURRENCE_INTERVAL_VALUE = 255;
167 * The maximum value of the reminder offset (in minutes).
169 * @brief <i> [Deprecated] </i>
170 * @deprecated This constant is deprecated.
174 static const int MAX_REMINDER_OFFSET_VALUE = 40320;
178 * The maximum length of the name properties (first, last, nickname, and formatted names).
180 * @brief <i> [Deprecated] </i>
181 * @deprecated This constant is deprecated because there is no limitation any more.
185 static const int MAX_CONTACT_NAME_LENGTH = 50;
189 * The maximum length of the job title property.
191 * @brief <i> [Deprecated] </i>
192 * @deprecated This constant is deprecated because there is no limitation any more.
196 static const int MAX_CONTACT_JOB_TITLE_LENGTH = 50;
200 * The maximum length of the company property.
202 * @brief <i> [Deprecated] </i>
203 * @deprecated This constant is deprecated because there is no limitation any more.
207 static const int MAX_CONTACT_COMPANY_LENGTH = 50;
211 * The maximum length of the note property.
213 * @brief <i> [Deprecated] </i>
214 * @deprecated This constant is deprecated because there is no limitation any more.
218 static const int MAX_CONTACT_NOTE_LENGTH = 100;
222 * The maximum length of the category name.
224 * @brief <i> [Deprecated] </i>
225 * @deprecated This constant is deprecated because the maximum length of the category name has been changed.
229 static const int MAX_CATEGORY_NAME_LENGTH = 20;
233 * The minimum length of the query string for searching the contacts by name.
235 * @brief <i> [Deprecated] </i>
236 * @deprecated This value is deprecated.
239 * @see Addressbook::SearchContactsByNameN()
242 static const int MIN_NAME_QUERY_LENGTH = 1;
246 * The minimum length of the query string for searching the contacts by phone number.
248 * @brief <i> [Deprecated] </i>
249 * @deprecated This value is deprecated.
252 * @see Addressbook::SearchContactsByPhoneNumberN()
255 static const int MIN_PHONENUMBER_QUERY_LENGTH = 4;
259 * The minimum length of the query string for searching the contacts by email.
261 * @brief <i> [Deprecated] </i>
262 * @deprecated This value is deprecated.
265 * @see Addressbook::SearchContactsByEmailN()
268 static const int MIN_EMAIL_QUERY_LENGTH = 1;
272 * The maximum length of the email property.
274 * @brief <i> [Deprecated] </i>
275 * @deprecated This constant is deprecated because there is no limitation any more.
279 static const int MAX_EMAIL_LENGTH = 100;
282 * @enum ContactPropertyId
284 * Defines the IDs for accessing the single value type properties of Contact.
287 enum ContactPropertyId
289 CONTACT_PROPERTY_ID_FIRST_NAME = 1, /**< The first name property ID (String type) */
290 CONTACT_PROPERTY_ID_LAST_NAME, /**< The last name property ID (String type) */
291 CONTACT_PROPERTY_ID_DISPLAY_NAME, /**< The formatted name property ID (String type) */
292 CONTACT_PROPERTY_ID_NICK_NAME, /**< @if OSPDEPREC The nick name property ID (String type)
293 @deprecated This enum value is deprecated because there can be multiple nicknames
294 in a contact. Instead of using this, use ContactMultiPropertyId::CONTACT_MPROPERTY_ID_NICKNAMES. @endif */
295 CONTACT_PROPERTY_ID_THUMBNAIL, /**< @if OSPDEPREC The thumbnail property ID (Bitmap type)
296 @deprecated This enumeration value is deprecated because it is not used any longer. @endif */
297 CONTACT_PROPERTY_ID_BIRTHDAY, /**< @if OSPDEPREC The birthday property ID (DateTime type)
298 @deprecated This enum value is deprecated because there can be multiple birthday events.
299 Instead of using this, use ContactMultiPropertyId::CONTACT_MPROPERTY_ID_EVENTS. @endif */
300 CONTACT_PROPERTY_ID_JOB_TITLE, /**< @if OSPDEPREC The job title property ID (String type)
301 @deprecated This enum value is deprecated because there can be multiple organizational information.
302 Instead of using this, use ContactMultiPropertyId::CONTACT_MPROPERTY_ID_ORGANIZATIONS. @endif */
303 CONTACT_PROPERTY_ID_COMPANY, /**< @if OSPDEPREC The company property ID (String type)
304 @deprecated This enum value is deprecated because there can be multiple organizational information.
305 Instead of using this, use ContactMultiPropertyId::CONTACT_MPROPERTY_ID_ORGANIZATIONS.@endif */
306 CONTACT_PROPERTY_ID_NOTE, /**< @if OSPDEPREC The note property ID (String type)
307 @deprecated This enum value is deprecated because there can be multiple notes
308 in a contact. Instead of using this, use ContactMultiPropertyId::CONTACT_MPROPERTY_ID_NOTES.@endif */
309 CONTACT_PROPERTY_ID_ANNIVERSARY, /**< @if OSPDEPREC The anniversary property ID (DateTime type)
310 @deprecated This enum value is deprecated because there can be multiple anniversary events.
311 Instead of using this, use ContactMultiPropertyId::CONTACT_MPROPERTY_ID_EVENTS.@endif */
312 CONTACT_PROPERTY_ID_RINGTONE, /**< The ringtone property ID (String type) */
313 CONTACT_PROPERTY_ID_MIDDLE_NAME, /**< The middle name property ID (String type) */
314 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). */
315 CONTACT_PROPERTY_ID_NAME_PREFIX, /**< The name honorific prefix property ID (String type) */
316 CONTACT_PROPERTY_ID_NAME_SUFFIX, /**< The name honorific suffix property ID (String type) */
317 CONTACT_PROPERTY_ID_PHONETIC_FIRST_NAME, /**< The phonetic first name property ID (String type) @b Since: @b 2.1 */
318 CONTACT_PROPERTY_ID_PHONETIC_LAST_NAME, /**< The phonetic last name property ID (String type) @b Since: @b 2.1 */
319 CONTACT_PROPERTY_ID_PHONETIC_MIDDLE_NAME, /**< The phonetic middle name property ID (String type) @b Since: @b 2.1 */
320 CONTACT_PROPERTY_ID_UID, /**< The globally unique ID (String type) @b Since: @b 2.1 */
324 * @enum ContactMultiPropertyId
326 * Defines the IDs for accessing the multi-value type properties of Contact. @n
327 * The properties have several values and they are called multi-type properties.
330 enum ContactMultiPropertyId
332 CONTACT_MPROPERTY_ID_PHONE_NUMBERS, /**< The phone number property ID (PhoneNumber class) */
333 CONTACT_MPROPERTY_ID_EMAILS, /**< The email property ID (Email class) */
334 CONTACT_MPROPERTY_ID_URLS, /**< The URL property ID (Url class) */
335 CONTACT_MPROPERTY_ID_ADDRESSES, /**< The address property ID (Address class) */
336 CONTACT_MPROPERTY_ID_IMADDRESSES, /**< The Instant Message property ID (ImAddress class) */
337 CONTACT_MPROPERTY_ID_EVENTS, /**< The contact event property ID (ContactEvent type) */
338 CONTACT_MPROPERTY_ID_ORGANIZATIONS, /**< The organization property ID (Organization type) */
339 CONTACT_MPROPERTY_ID_NOTES, /**< The note property ID (String type) */
340 CONTACT_MPROPERTY_ID_NICKNAMES, /**< The nickname property ID (String type) */
341 CONTACT_MPROPERTY_ID_RELATIONSHIPS, /**< The relationship property ID (Relationship type) */
346 * The number of #ContactPropertyId factors.
348 * @brief <i> [Deprecated] </i>
349 * @deprecated This constant is deprecated because it is not used any more.
353 static const int CONTACT_PROPERTY_ID_NUM = 14;
357 * The number of #ContactMultiPropertyId factors.
359 * @brief <i> [Deprecated] </i>
360 * @deprecated This constant is deprecated because it is not used any more.
364 static const int CONTACT_MPROPERTY_ID_NUM = 5;
367 * @enum RecordSensitivity
368 * Defines the sensitivity type of the calendar book record. @n
369 * This value represents the access classification property of @c vCalendar and @c iCalendar.
373 enum RecordSensitivity
375 SENSITIVITY_PUBLIC, /**< The public sensitivity */
376 SENSITIVITY_PRIVATE, /**< The private sensitivity */
377 SENSITIVITY_CONFIDENTIAL /**< The confidential sensitivity */
382 * Defines the role of the attendee.
387 ATTENDEE_ROLE_ATTENDEE, /**< The attendee */
388 ATTENDEE_ROLE_REQUIRED_ATTENDEE, /**< The required attendee */
389 ATTENDEE_ROLE_ORGANIZER /**< The organizer */
393 * @enum AttendeeStatus
394 * Defines the possible status of the attendee.
399 ATTENDEE_STATUS_NONE, /**< The none status */
400 ATTENDEE_STATUS_NOT_RESPONDED, /**< The not-responded status */
401 ATTENDEE_STATUS_ACCEPTED, /**< The accepted status */
402 ATTENDEE_STATUS_DECLINED, /**< The declined status*/
403 ATTENDEE_STATUS_TENTATIVE, /**< The tentative status*/
408 * @enum EventCategory
409 * @brief <i> [Deprecated] </i> Defines the categories to classify the event.
411 * @deprecated This enum type is deprecated because the category of event is not used any more.
417 EVENT_CATEGORY_APPOINTMENT = 0x00000001, /**< @if OSPDEPREC The appointment category @endif */
418 EVENT_CATEGORY_ANNIVERSARY = 0x00000002, /**< @if OSPDEPREC The anniversary category @endif */
423 * All the event categories.
425 * @brief <i> [Deprecated] </i>
426 * @deprecated This constant is deprecated because the category of event is not used any more.
430 static const unsigned long EVENT_CATEGORY_ALL = EVENT_CATEGORY_APPOINTMENT | EVENT_CATEGORY_ANNIVERSARY;
433 * @enum EventPriority
434 * Defines the possible priority levels of the event.
440 EVENT_PRIORITY_LOW, /**< The low priority */
441 EVENT_PRIORITY_NORMAL, /**< The normal priority */
442 EVENT_PRIORITY_HIGH /**< The high priority */
447 * Defines the possible statuses of the event.
453 EVENT_STATUS_NONE, /**< The none status */
454 EVENT_STATUS_CONFIRMED, /**< The confirmed status */
455 EVENT_STATUS_CANCELLED, /**< The canceled status */
456 EVENT_STATUS_TENTATIVE /**< The tentative status */
461 * Defines the busy statuses of the event.
467 BUSY_STATUS_FREE, /**< The free status */
468 BUSY_STATUS_BUSY, /**< The busy status */
469 BUSY_STATUS_UNAVAILABLE, /**< The unavailable status */
470 BUSY_STATUS_TENTATIVE /**< The tentative status */
475 * Defines the possible to-do status types.
481 TODO_STATUS_NONE = 0x00000001, /**< The none status */
482 TODO_STATUS_NEEDS_ACTION = 0x00000002, /**< The needs action status */
483 TODO_STATUS_COMPLETED = 0x00000004, /**< The completed status */
484 TODO_STATUS_IN_PROCESS = 0x00000008, /**< The in process status */
485 TODO_STATUS_CANCELLED = 0x00000010, /**< The canceled status */
488 /** All the to-do statuses.
492 static const unsigned long TODO_STATUS_ALL = TODO_STATUS_NONE | TODO_STATUS_NEEDS_ACTION | TODO_STATUS_COMPLETED |
493 TODO_STATUS_IN_PROCESS | TODO_STATUS_CANCELLED;
497 * Defines the possible to-do priority levels.
503 TODO_PRIORITY_LOW = 0x00000001, /**< The low priority */
504 TODO_PRIORITY_NORMAL = 0x00000002, /**< The normal priority */
505 TODO_PRIORITY_HIGH = 0x00000004, /**< The high priority */
508 /** All the to-do priorities.
512 static const unsigned long TODO_PRIORITY_ALL = TODO_PRIORITY_LOW | TODO_PRIORITY_NORMAL | TODO_PRIORITY_HIGH;
516 * @enum RecordEventType
517 * Defines the record event types.
519 * @brief <i> [Deprecated] </i>
520 * @deprecated This enum is deprecated because IRecordEventListener interface is deprecated.
527 RECORD_ADDED, /**< @if OSPDEPREC The adding of a new record @endif */
528 RECORD_UPDATED, /**< @if OSPDEPREC The updating of a record @endif */
529 RECORD_REMOVED, /**< @if OSPDEPREC The removal of a record @endif */
530 ALL_RECORDS_REMOVED, /**<
532 * The removal of all records @n
533 * @deprecated This enum value is deprecated because it is not used any more.
536 MULTI_RECORDS_ADDED, /**< @if OSPDEPREC The adding of multiple records @endif */
537 MULTI_RECORDS_UPDATED, /**< @if OSPDEPREC The adding, updating, and/or removal of multiple records @endif */
538 MULTI_RECORDS_REMOVED /**< @if OSPDEPREC The removal of multiple records @endif */
542 * @enum RecurFrequency
543 * Defines the recurrence frequency type.
549 FREQ_DAILY, /**< The daily recurrence */
550 FREQ_WEEKLY, /**< The weekly recurrence */
551 FREQ_MONTHLY, /**< The monthly recurrence */
552 FREQ_YEARLY /**< The yearly recurrence */
557 * Defines the day of week type.
563 CAL_SUNDAY = 0x0001, /**< The day of the week is Sunday */
564 CAL_MONDAY = 0x0002, /**< The day of the week is Monday */
565 CAL_TUESDAY = 0x0004, /**< The day of the week is Tuesday */
566 CAL_WEDNESDAY = 0x0008, /**< The day of the week is Wednesday */
567 CAL_THURSDAY = 0x0010, /**< The day of the week is Thursday */
568 CAL_FRIDAY = 0x0020, /**< The day of the week is Friday */
569 CAL_SATURDAY = 0x0040 /**< The day of the week is Saturday */
573 * @enum RecordChangeType
574 * Defines the change type of Record.
578 enum RecordChangeType
580 RECORD_CHANGE_TYPE_ADDED, /**< A record is added */
581 RECORD_CHANGE_TYPE_REMOVED, /**< A record is removed */
582 RECORD_CHANGE_TYPE_UPDATED, /**< A record is updated */
586 * @enum CalendarItemType
587 * Defines item types to specify which kind of item the calendar can contain.
591 enum CalendarItemType
593 CALENDAR_ITEM_TYPE_EVENT_ONLY = 0x1, /**< The item type for event */
594 CALENDAR_ITEM_TYPE_TODO_ONLY = 0x2, /**< The item type for to-do item */
595 CALENDAR_ITEM_TYPE_EVENT_AND_TODO = 0x3 /**< The item type for event and to-do item */
599 * @enum PhoneNumberType
601 * Defines the types of phone number.
606 PHONENUMBER_TYPE_HOME, /**< The phone number type for home telephone*/
607 PHONENUMBER_TYPE_WORK, /**< The phone number type for work telephone*/
608 PHONENUMBER_TYPE_MOBILE, /**< The phone number type for mobile */
609 PHONENUMBER_TYPE_HOME_FAX, /**< The phone number type for home fax */
610 PHONENUMBER_TYPE_WORK_FAX, /**< The phone number type for work fax */
611 PHONENUMBER_TYPE_PAGER, /**< The phone number type for pager */
612 PHONENUMBER_TYPE_OTHER, /**< The phone number type for other */
613 PHONENUMBER_TYPE_CUSTOM, /**< The custom type @n The actual type can be set in the label. */
614 PHONENUMBER_TYPE_ASSISTANT /**< The phone number type for assistant. @b Since: @b 2.1 */
618 * @enum ReminderTimeUnit
619 * Defines the reminder time unit.
623 enum ReminderTimeUnit
625 REMINDER_TIME_UNIT_MINUTE, /**< The unit of time offset is minute */
626 REMINDER_TIME_UNIT_HOUR, /**< The unit of time offset is hour */
627 REMINDER_TIME_UNIT_DAY, /**< The unit of time offset is day */
628 REMINDER_TIME_UNIT_WEEK, /**< The unit of time offset is week */
629 REMINDER_TIME_UNIT_NONE, /**< The unit of time offset is none @b Since @b 2.1 */
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. */
645 EMAIL_TYPE_MOBILE /**< The email type for mobile. @b Since: @b 2.1 */
649 * Defines the types of address.
655 ADDRESS_TYPE_HOME, /**< The address type for home address */
656 ADDRESS_TYPE_WORK, /**< The address type for work address */
657 ADDRESS_TYPE_OTHER, /**< The address type for other */
658 ADDRESS_TYPE_CUSTOM /**< The custom type @n The actual type can be set in the label. */
662 * @enum ContactEventType
664 * Defines the types of event.
668 enum ContactEventType
670 CONTACT_EVENT_TYPE_BIRTHDAY, /**< The event type for birthday */
671 CONTACT_EVENT_TYPE_ANNIVERSARY, /**< The event type for anniversary */
672 CONTACT_EVENT_TYPE_OTHER, /**< The event type for other */
673 CONTACT_EVENT_TYPE_CUSTOM /**< The custom event @n The actual type can be set in the label. */
679 * Defines the types of URL.
685 URL_TYPE_PERSONAL, /**< The URL type is personal */
686 URL_TYPE_WORK, /**< The URL type is work */
687 URL_TYPE_OTHER, /**< The URL type is other */
688 URL_TYPE_CUSTOM /**< The custom type @n The actual type can be set in the label. */
692 * @enum RelationshipType
694 * Defines the types of relationship.
698 enum RelationshipType
700 CONTACT_RELATIONSHIP_TYPE_ASSISTANT, /**< The relation type for assistant */
701 CONTACT_RELATIONSHIP_TYPE_BROTHER, /**< The relation type for brother */
702 CONTACT_RELATIONSHIP_TYPE_CHILD, /**< The relation type for child */
703 CONTACT_RELATIONSHIP_TYPE_DOMESTIC_PARTNER, /**< The relation type for domestic partner */
704 CONTACT_RELATIONSHIP_TYPE_FATHER, /**< The relation type for father */
705 CONTACT_RELATIONSHIP_TYPE_FRIEND, /**< The relation type for friend */
706 CONTACT_RELATIONSHIP_TYPE_MANAGER, /**< The relation type for manager */
707 CONTACT_RELATIONSHIP_TYPE_MOTHER, /**< The relation type for mother */
708 CONTACT_RELATIONSHIP_TYPE_PARENT, /**< The relation type for parent */
709 CONTACT_RELATIONSHIP_TYPE_PARTNER, /**< The relation type for partner */
710 CONTACT_RELATIONSHIP_TYPE_REFERRED_BY, /**< The relation type for referred-by */
711 CONTACT_RELATIONSHIP_TYPE_RELATIVE, /**< The relation type for relative */
712 CONTACT_RELATIONSHIP_TYPE_SISTER, /**< The relation type for sister */
713 CONTACT_RELATIONSHIP_TYPE_SPOUSE, /**< The relation type for spouse */
714 CONTACT_RELATIONSHIP_TYPE_CUSTOM /**< The custom event @n The actual type can be set in the label. */
718 * @enum OrganizationType
720 * Defines the types of organization.
725 enum OrganizationType
727 ORGANIZATION_TYPE_WORK, /**< The organization type for work */
728 ORGANIZATION_TYPE_OTHER, /**< The organization type for other */
729 ORGANIZATION_TYPE_CUSTOM /**< The custom type @n The actual type can be set in the label */
734 * The maximum length of the phone number property.
736 * @brief <i> [Deprecated] </i>
737 * @deprecated This constant is deprecated because there is no limitation any more.
741 static const int MAX_PHONE_NUMBER_LENGTH = 50;
743 //This value is for internal use only. Using this value can cause behavioral,
744 //security-related, and consistency-related issues in the application.
745 typedef int AccountId;
752 typedef int PersonId;
756 * The addressbook ID.
760 typedef int AddressbookId;
763 * An invalid address book ID indicates that the address book has not been properly stored to the address book database.
767 static const AddressbookId INVALID_ADDRESSBOOK_ID = -2;
770 * The default addressbook ID.
774 static const AddressbookId DEFAULT_ADDRESSBOOK_ID = 0;
777 * @enum FilterConjunctiveOperator
778 * Defines the conjunctive operators to compound the filtering expressions.
782 enum FilterConjunctiveOperator
784 FI_CONJ_OP_NONE, /**< None */
785 FI_CONJ_OP_AND, /**< AND operator */
786 FI_CONJ_OP_OR, /**< OR operator */
790 * @enum FilterComparisonOperator
791 * Defines the comparison operators.
795 enum FilterComparisonOperator
797 FI_CMP_OP_EQUAL, /**< = operator */
798 FI_CMP_OP_LESS_THAN, /**< < operator */
799 FI_CMP_OP_LESS_THAN_OR_EQUAL, /**< <= operator */
800 FI_CMP_OP_GREATER_THAN, /**< > operator*/
801 FI_CMP_OP_GREATER_THAN_OR_EQUAL, /**< >= operator */
802 FI_CMP_OP_IS_NULL, /**< IS NULL operator */
806 * @enum FilterStringOperator
807 * Defines the matching criteria for Strings.
811 enum FilterStringOperator
813 FI_STR_OP_EQUAL, /**< The operator for matching the string exactly */
814 FI_STR_OP_FULL_STRING, /**< The operator for matching the full-string without case sensitive */
815 FI_STR_OP_START_WITH, /**< The operator for matching the string starting with the specified keyword */
816 FI_STR_OP_END_WITH, /**< The operator for matching the string ending with the specified keyword */
817 FI_STR_OP_CONTAIN, /**< The operator for matching the string containing the specified keyword */
818 FI_STR_OP_IS_NOT_NULL, /**< The operator for matching any string(except NULL) @n The specified is ignored. */
822 * @enum AddressbookFilterType
823 * Defines the type of the filter for Addressbook.
827 enum AddressbookFilterType
829 AB_FI_TYPE_ADDRESSBOOK, /**< The filter for the addressbooks @n AddressbookFilterProperty is only used in this type filter.
830 The search result with this filter is a list of Addressbook. */
831 AB_FI_TYPE_PERSON, /**< The filter for the persons @n PersonFilterProperty is only used in this type filter.
832 The search result with this filter is a list of Person. */
833 AB_FI_TYPE_CONTACT, /**< The filter for the contacts @n ContactFilterProperty is only used in this type filter.
834 The search result with this filter is a list of Contact. */
835 AB_FI_TYPE_CATEGORY, /**< The filter for the categories @n CategoryFilterProperty is only used in this type filter.
836 The search result with this filter is a list of Category. */
837 AB_FI_TYPE_PHONE_CONTACT, /**< The filter for the contacts with phone number @n PhoneContactFilterProperty is only used in this type filter.
838 The search result with this filter is a list of PhoneNumberContact. */
839 AB_FI_TYPE_EMAIL_CONTACT, /**< The filter for the contacts with email @n EmailContactFilterProperty is only used in this type filter.
840 The search result with this filter is a list of EmailContact. */
844 * @enum AddressbookFilterProperty
845 * Defines the property for filtering the addressbooks. @n
846 * These properties can be used to create an AddressbookFilter of #AB_FI_TYPE_ADDRESSBOOK type.
850 enum AddressbookFilterProperty
852 AB_FI_PR_ADDRESSBOOK_ID = 1, /**< The addressbook ID: int (AddressbookId) */
853 AB_FI_PR_ACCOUNT_ID, /**< The account ID: int (AccountId) */
854 AB_FI_PR_NAME, /**< The addressbook name: String */
858 * @enum PersonFilterProperty
859 * Defines the property for filtering the persons. @n
860 * These properties can be used to create an AddressbookFilter of #AB_FI_TYPE_PERSON type.
864 enum PersonFilterProperty
866 PERSON_FI_PR_PERSON_ID = 100, /**< The person ID: int (RecordId) */
867 PERSON_FI_PR_DISPLAY_NAME, /**< The display name: String */
868 PERSON_FI_PR_HAS_PHONE, /**< Whether the person has phone numbers or not: bool */
869 PERSON_FI_PR_HAS_EMAIL, /**< Whether the person has emails or not: bool */
870 PERSON_FI_PR_IS_FAVORITE, /**< Whether the person is favorite or not: bool */
871 PERSON_FI_PR_CATEGORY_ID, /**< The category ID: int (RecordId) */
872 PERSON_FI_PR_ADDRESSBOOK_ID, /**< The addressbook ID: int (AddressbookId) */
876 * @enum ContactFilterProperty
877 * Defines the property for filtering the contacts. @n
878 * These properties can be used to create an AddressbookFilter of #AB_FI_TYPE_CONTACT type.
882 enum ContactFilterProperty
884 CONTACT_FI_PR_CONTACT_ID = 200, /**< The contact ID: int (RecordId) */
885 CONTACT_FI_PR_ADDRESSBOOK_ID, /**< The addressbook ID: int (AddressbookId) */
886 CONTACT_FI_PR_PERSON_ID, /**< The person ID: int (PersonId) */
887 CONTACT_FI_PR_DISPLAY_NAME, /**< The display name: String */
888 CONTACT_FI_PR_HAS_PHONE, /**< Whether the contact has phone numbers or not: bool */
889 CONTACT_FI_PR_HAS_EMAIL, /**< Whether the contact has emails or not: bool */
893 * @enum CategoryFilterProperty
894 * Defines the property for filtering the categories.
895 * These properties can be used to create an AddressbookFilter of #AB_FI_TYPE_CATEGORY type.
899 enum CategoryFilterProperty
901 CATEGORY_FI_PR_CATEGORY_ID = 300, /**< The category ID: int (RecordId) */
902 CATEGORY_FI_PR_ADDRESSBOOK_ID, /**< The addressbook ID: int (AddressbookId) */
903 CATEGORY_FI_PR_NAME, /**< The category name: String */
907 * @enum PhoneContactFilterProperty
908 * Defines the property for filtering the contacts with phone number.
909 * These properties can be used to create an AddressbookFilter of #AB_FI_TYPE_PHONE_CONTACT type.
913 enum PhoneContactFilterProperty
915 PHONE_CONTACT_FI_PR_CONTACT_ID = 400, /**< The contact ID: int (RecordId) */
916 PHONE_CONTACT_FI_PR_ADDRESSBOOK_ID, /**< The addressbook ID: int (AddressbookId) */
917 PHONE_CONTACT_FI_PR_PERSON_ID, /**< The person ID: int (PersonId) */
918 PHONE_CONTACT_FI_PR_DISPLAY_NAME, /**< The display name: String */
919 PHONE_CONTACT_FI_PR_PHONE, /**< The phone number: String */
923 * @enum EmailContactFilterProperty
924 * Defines the property for filtering the contacts with email.
925 * These properties can be used to create an AddressbookFilter of #AB_FI_TYPE_EMAIL_CONTACT type.
929 enum EmailContactFilterProperty
931 EMAIL_CONTACT_FI_PR_CONTACT_ID = 500, /**< The contact ID: int (RecordId) */
932 EMAIL_CONTACT_FI_PR_ADDRESSBOOK_ID, /**< The addressbook ID: int (AddressbookId) */
933 EMAIL_CONTACT_FI_PR_PERSON_ID, /**< The person ID: int (PersonId) */
934 EMAIL_CONTACT_FI_PR_DISPLAY_NAME, /**< The display name: String */
935 EMAIL_CONTACT_FI_PR_EMAIL, /**< The email: String */
939 * @enum UserProfilePropertyId
941 * Defines the IDs for accessing the single value type properties of UserProfile.
944 enum UserProfilePropertyId
946 USER_PROFILE_PROPERTY_ID_FIRST_NAME = 1, /**< The first name property ID (String type) */
947 USER_PROFILE_PROPERTY_ID_LAST_NAME, /**< The last name property ID (String type) */
948 USER_PROFILE_PROPERTY_ID_MIDDLE_NAME, /**< The middle name property ID (String type) */
949 USER_PROFILE_PROPERTY_ID_NAME_PREFIX, /**< The name honorific prefix property ID (String type) */
950 USER_PROFILE_PROPERTY_ID_NAME_SUFFIX, /**< The name honorific suffix property ID (String type) */
951 USER_PROFILE_PROPERTY_ID_DISPLAY_NAME, /**< The formatted name property ID (String type) */
952 USER_PROFILE_PROPERTY_ID_PHONETIC_FIRST_NAME, /**< The phonetic first name property ID (String type) */
953 USER_PROFILE_PROPERTY_ID_PHONETIC_LAST_NAME, /**< The phonetic last name property ID (String type) */
954 USER_PROFILE_PROPERTY_ID_PHONETIC_MIDDLE_NAME, /**< The phonetic middle name property ID (String type) */
958 * @enum UserProfileMultiPropertyId
960 * Defines the IDs for accessing the multi-value type properties of UserProfile. @n
961 * The properties have several values and they are called multi-type properties.
964 enum UserProfileMultiPropertyId
966 USER_PROFILE_MPROPERTY_ID_PHONE_NUMBERS, /**< The phone number property ID (PhoneNumber class) */
967 USER_PROFILE_MPROPERTY_ID_EMAILS, /**< The email property ID (Email class) */
968 USER_PROFILE_MPROPERTY_ID_URLS, /**< The URL property ID (Url class) */
969 USER_PROFILE_MPROPERTY_ID_ADDRESSES, /**< The address property ID (Address class) */
970 USER_PROFILE_MPROPERTY_ID_IMADDRESSES, /**< The instant message property ID (ImAddress class) */
971 USER_PROFILE_MPROPERTY_ID_EVENTS, /**< The contact event property ID (ContactEvent class) */
972 USER_PROFILE_MPROPERTY_ID_ORGANIZATIONS, /**< The organization property ID (Organization class) */
973 USER_PROFILE_MPROPERTY_ID_NOTES, /**< The note property ID (String type) */
974 USER_PROFILE_MPROPERTY_ID_NICKNAMES, /**< The nickname property ID (String type) */
975 USER_PROFILE_MPROPERTY_ID_RELATIONSHIPS, /**< The relationship property ID (Relationship type) */
979 * @enum CalendarbookFilterType
980 * Defines the type of the filter for Calendarbook.
984 enum CalendarbookFilterType
986 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. */
987 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. */
988 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. */
989 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. */
990 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. */
994 * @enum EventFilterProperty
995 * Defines the property for filtering the events. @n
996 * These properties can be used to create a CalendarbookFilter of CB_FI_TYPE_EVENT type.
1000 enum EventFilterProperty
1002 EVENT_FI_PR_EVENT_ID = 1, /**< The event ID: int (RecordId) */
1003 EVENT_FI_PR_CALENDAR_ID, /**< The calendar ID: long long (RecordId) */
1004 EVENT_FI_PR_SUBJECT, /**< The subject of the event: String */
1005 EVENT_FI_PR_DESCRIPTION, /**< The description of the event: String */
1006 EVENT_FI_PR_LOCATION, /**< The location of the event: String */
1007 EVENT_FI_PR_BUSY_STATUS, /**< The busy status of the event: int (BusyStatus) */
1008 EVENT_FI_PR_PRIORITY, /**< The priority of the event: int (EventPriority) */
1009 EVENT_FI_PR_SENSITIVITY, /**< The sensitivity of the event: int (RecordSensitivity) */
1010 EVENT_FI_PR_STATUS, /**< The status of the event: int (EventStatus) */
1011 EVENT_FI_PR_UID, /**< The uid of the event: String */
1012 EVENT_FI_PR_LATITUDE, /**< The latitude of the event: Double */
1013 EVENT_FI_PR_LONGITUDE, /**< The longitude of the event: Double */
1014 EVENT_FI_PR_LAST_REVISED_TIME, /**< The last revised time of the event: DateTime */
1015 EVENT_FI_PR_HAS_REMINDER, /**< Whether the event has the reminder or not: bool*/
1016 EVENT_FI_PR_HAS_ATTENDEE /**< Whether the event has the attendee or not: bool*/
1020 * @enum TodoFilterProperty
1021 * Defines the property for filtering the to-dos. @n
1022 * These properties can be used to create a CalendarbookFilter of CB_FI_TYPE_TODO type.
1026 enum TodoFilterProperty
1028 TODO_FI_PR_TODO_ID = 100, /**< The todo ID: long long (RecordId) */
1029 TODO_FI_PR_CALENDAR_ID, /**< The calendar ID: long long (RecordId) */
1030 TODO_FI_PR_START_DATE, /**< The start date of the to-do: DateTime*/
1031 TODO_FI_PR_DUE_DATE, /**< The due date of the to-do: DateTime */
1032 TODO_FI_PR_SUBJECT, /**< The subject of the to-do: String */
1033 TODO_FI_PR_DESCRIPTION, /**< The description of the to-do: String */
1034 TODO_FI_PR_LOCATION, /**< The location of the to-do: String */
1035 TODO_FI_PR_PRIORITY, /**< The priority of the to-do: int (TodoPriority)*/
1036 TODO_FI_PR_SENSITIVITY, /**< The sensitivity of the to-do: int (RecordSensitivity) */
1037 TODO_FI_PR_STATUS, /**< The status of the to-do: int (TodoStatus) */
1038 TODO_FI_PR_LATITUDE, /**< The latitude of the to-do: double*/
1039 TODO_FI_PR_LONGITUDE, /**< The longitude of the to-do: double*/
1040 TODO_FI_PR_LAST_REVISED_TIME, /**< The last revised time of the to-do: DateTime */
1041 TODO_FI_PR_HAS_REMINDER /**< Whether the to-do has the reminder or not: bool*/
1045 * @enum EventInstanceFilterProperty
1046 * Defines the property for filtering the all day event instances or non-all day event instances. @n
1047 * These properties can be used to create a CalendarbookFilter of CB_FI_TYPE_ALL_DAY_EVENT_INSTANCE type or CB_FI_TYPE_NON_ALL_DAY_EVENT_INSTANCE type.
1051 enum EventInstanceFilterProperty
1053 EVENT_INST_FI_PR_ORIGINAL_EVENT_ID = 200, /**< The original event ID: int (RecordId) */
1054 EVENT_INST_FI_PR_CALENDAR_ID, /**< The calendar ID: int (RecordId) */
1055 EVENT_INST_FI_PR_START_TIME, /**< The start time of the event instance: DateTime */
1056 EVENT_INST_FI_PR_END_TIME, /**< The end time of the event instance: DateTime */
1057 EVENT_INST_FI_PR_SUBJECT, /**< The subject of the event instance: String */
1058 EVENT_INST_FI_PR_DESCRIPTION, /**< The description of the event instance: String */
1059 EVENT_INST_FI_PR_LOCATION, /**< The location of the event instance: String */
1060 EVENT_INST_FI_PR_BUSY_STATUS, /**< The busy status of the event instance: int (BusyStatus) */
1061 EVENT_INST_FI_PR_PRIORITY, /**< The priority of the event instance: int (EventPriority) */
1062 EVENT_INST_FI_PR_SENSITIVITY, /**< The sensitivity of the event instance: int (RecordSensitivity) */
1063 EVENT_INST_FI_PR_STATUS, /**< The status of the event instance: int (EventStatus) */
1064 EVENT_INST_FI_PR_LATITUDE, /**< The latitude of the event instance: Double */
1065 EVENT_INST_FI_PR_LONGITUDE, /**< The latitude of the event instance: Double */
1066 EVENT_INST_FI_PR_IS_RECURRING, /**< Whether the event instance is the recurring event or not: bool*/
1067 EVENT_INST_FI_PR_HAS_REMINDER /**< Whether the event instance has the reminder or not: bool*/
1071 * @enum CalendarFilterProperty
1072 * Defines the property for filtering the calendars. @n
1073 * These properties can be used to create a CalendarbookFilter of CB_FI_TYPE_CALENDAR type.
1077 enum CalendarFilterProperty
1079 CALENDAR_FI_PR_CALENDAR_ID = 400, /**< The calendar ID: int (RecordId) */
1080 CALENDAR_FI_PR_ACCOUNT_ID, /**< The account ID of calendar: int (AccountId) */
1081 CALENDAR_FI_PR_NAME, /**< The name of calendar: String */
1082 CALENDAR_FI_PR_ITEM_TYPE /**< The type of calendar: int (CalendarItemType) */
1087 #endif // _FSCL_TYPES_H_