diff options
Diffstat (limited to 'lib/common/include/phone-common.h')
-rwxr-xr-x | lib/common/include/phone-common.h | 760 |
1 files changed, 760 insertions, 0 deletions
diff --git a/lib/common/include/phone-common.h b/lib/common/include/phone-common.h new file mode 100755 index 0000000..d48d10b --- /dev/null +++ b/lib/common/include/phone-common.h @@ -0,0 +1,760 @@ +/* +* Copyright 2012 Samsung Electronics Co., Ltd +* +* Licensed under the Flora License, Version 1.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://floralicense.org/license/ +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + + +#ifndef __PHONE_COMMON_H__ +#define __PHONE_COMMON_H__ + +#include <time.h> +#include <libintl.h> +#include <ui-gadget.h> +#include <contacts.h> +#include <unicode/udat.h> +#include <bundle.h> +#include "phone-ug.h" +#include "phone-path.h" +#include "phone-text.h" +#include "contacts-ug.h" + + +#define PH_TIMECHECK +#ifdef PH_TIMECHECK +double ph_correction, ph_startT; +double ph_set_start_time(void); +double ph_exec_time(double start); +int ph_init_time(void); +#define PH_TIME_CHECK \ + DBG("time = %f ms\n", ph_set_start_time()); +#define PH_START_TIME_CHECK \ + ph_init_time();\ +ph_startT = ph_set_start_time(); +#define PH_END_TIME_CHECK(fmt, arg...) \ + DBG(fmt" time = %f ms\n", ##arg, ph_exec_time(ph_startT)); +#else //PH_TIMECHECK +#define PH_START_TIME_CHECK +#define PH_END_TIME_CHECK(arg) +#endif //PH_TIMECHECK + +#if !defined(LOCALEDIR) +# define LOCALEDIR "/usr/ug/res/locale" +#endif + +#ifndef STRLEN +#define STRLEN(str) (((str) == NULL) ? 0: strlen(str)) +#endif + +#define PH_TEXT_MAX_LEN 1024 +#define PH_TEXT_SHORT_LEN 256 +#define CT_EDITFIELD_MAX_CHAR 1000 +#define PH_BLOCK_MSG_MAX_LEN 40 + +#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) + +#define MSG_COMPOSER_UG "msg-composer-efl" +#define MYFILES_UG "myfile-efl" +#define VIBRATION_UG "setting-profile-efl" +#define ACCOUNT_UG "setting-myaccount-efl" +#define IMG_VIEWER_UG "image-viewer-efl" +#define GALLERY_UG "gallery-efl" +#define BLUETOOTH_UG "setting-bluetooth-efl" +#define WIFI_DIRECT_UG "fileshare-efl" + +#define EMAIL_COMPOSER_PKG "email-composer-efl" +#define VOICECALL_PKG "org.tizen.call" +#define VIDEOCALL_PKG "org.tizen.vtmain" +#define CONTACTS_VIEWER_PKG "org.tizen.contacts-viewer" +#define BROWSER_UI_PKG "org.tizen.browser" + +#define SETTING_MFC_PATH "/opt/usr/ug/data/ug-phone/mfc_option" +#define VIEW_MODE_PATH "/opt/usr/ug/data/ug-phone/view_mode" + + +typedef enum date_style{ + PH_LOG_TIME_ONLY, + PH_LOG_DATE_ONLY, +}date_style; + +typedef enum{ + LOG_TYPE_CALL = 0, + LOG_TYPE_VIDEO_CALL, + LOG_TYPE_SMS_MESSAGE, + LOG_TYPE_MMS_MESSAGE, + LOG_TYPE_MAX +} Log_Type; + +typedef enum{ + LOG_ACTION_DIALLED = 0, + LOG_ACTION_MISSED, + LOG_ACTION_RECEIVED, + LOG_ACTION_REJECTED, + LOG_ACTION_BLOCKED, + LOG_ACTION_MAX +} Log_Action; + + +enum { + CTTEXT_TYPE_CUSTOM, + CTTEXT_TYPE_MOBILE, + CTTEXT_TYPE_HOME, + CTTEXT_TYPE_WORK, + CTTEXT_TYPE_FAX_HOME, + CTTEXT_TYPE_FAX_WORK, + CTTEXT_TYPE_ASSISTANT, + CTTEXT_TYPE_PAGER, + CTTEXT_TYPE_OTHER, + CTTEXT_TYPE_TELEPHONE, + CTTEXT_TYPE_FAX, + CTTEXT_TYPE_CAR, + CTTEXT_TYPE_HOME2, + CTTEXT_TYPE_WORK2, + CTTEXT_TYPE_COMPANY_MAIN, + CTTEXT_TYPE_RADIO, +}; //CT_GET_TEXT_NUM_TYPE + +enum { + CT_VIEW_DETAIL, + CT_VIEW_INPUT, + CT_VIEW_ETC, +}; + +enum { + CT_LIST_NORMAL = 0x00, + CT_LIST_NORMAL_CONTACT = 0x01, + CT_LIST_NORMAL_FAVORITE = 0x02, + CT_LIST_NORMAL_MEMBER = 0x03, + CT_LIST_NORMAL_SDN = 0x04, + + CT_LIST_SINGLE = 0x30, + CT_LIST_SINGLE_LINK = 0x31, + CT_LIST_SINGLE_RELATION = 0x32, + + CT_LIST_SINGLE_UG = 0x50, + + CT_LIST_MULTI = 0x70, + CT_LIST_MULTI_DELETE = 0x71, + CT_LIST_MULTI_ADD_MEMBER = 0x72, + CT_LIST_MULTI_REMOVE_MEMBER = 0x73, + CT_LIST_MULTI_ADD_FAVORITE = 0x74, + CT_LIST_MULTI_REMOVE_FAVORITE = 0x75, + CT_LIST_MULTI_EXPORT_TO_SIM = 0x76, + CT_LIST_MULTI_EXPORT_TO_VCARD = 0x77, + CT_LIST_MULTI_IMPORT_FROM_SIM = 0x78, + CT_LIST_MULTI_IMPORT_FROM_VCARD = 0x79, + CT_LIST_MULTI_RECIPIENT_MESSAGE_INGROUP = 0x7A, + CT_LIST_MULTI_RECIPIENT_EMAIL_INGROUP = 0x7B, + CT_LIST_MULTI_SHARE_MESSAGE = 0x7C, + CT_LIST_MULTI_SHARE_EMAIL = 0x7D, + CT_LIST_MULTI_SHARE_BT = 0x7E, + CT_LIST_MULTI_REORDER_FAVORITE = 0x7F, + + CT_LIST_MULTI_UG = 0xA0, +}; + +enum { + CTUG_MSG_INVALID = 0, + CTUG_MSG_KEY_END = 1, +}; + +typedef void* PTHREAD_FN; +typedef void (*ct_select_result_cb)(void *data, int *list, int cnt); +typedef void (*ct_contact_add_cb)(Evas_Object *win, Evas_Object *navi, int cnt); +typedef void (*ct_assign_result_cb)(void *data); +typedef void (*ct_change_name_cb)(void *data, char *str); +typedef void (*selectall_changed_cb)(void *data, Eina_Bool checked); +typedef void (*ct_list_navi_item_update_fn)(void *data); +typedef void (*ct_group_rename_update_cb)(void *data, bool changed); +typedef void (*ct_person_changed_cb)(void *data); +typedef void (*ct_group_input_result_cb)(int grp_id, void *data, bool changed); + +typedef struct { + Evas_Object *win; + Evas_Object *navi; + void *ug; + int ug_request; + int ug_cnt_max; + char *ug_data; // update contact info +}ph_view_info; + +typedef struct { + int cnt; + int cnt_checked_total; + int result; + bool alive; + bool completed; + bool without_cancel_btn; + pthread_t thread; + Ecore_Timer *timer; + Evas_Object *layout; + Evas_Object *progressbar; + Evas_Object *popup; + + int *update_ids; + contacts_list_h update_list; + bool next_job; +} ph_progress_info; + +typedef struct +{ + char *plog_display; + char *plog_img_path; + char *plog_number; + + int id; + int plog_ct_id; + int plog_num_type; + int plog_log_time; + int plog_log_type; + int plog_duration; + + int grouped_count; + Eina_Bool checked;//for check genlist + int group_index;//it's used as group index value. + int group_base_id; + Elm_Object_Item *item; + +} ph_log_info; + +typedef struct +{ + int id; + char *img_path; + char *display; + char *number; + char* numtype_label; + int number_type; + char *normal_name; +}ph_contact_d; + +typedef struct +{ + int person_id; + int id_ret; + int id_ret_type; + char *display; + char *img_path; + char *number; + bool img_loaded; + bool number_loaded; + Eina_List *contact_list; + Eina_List *number_list; + Eina_List *email_list; + + Eina_Bool checked; + Elm_Object_Item *item; +}ph_favor_info; + +typedef struct +{ + char *display; + char *img_path; + char *ph_number; + char *numtype_label; + int number_type; + int contact_id; + int dial_number; + Eina_Bool is_checked; +}ph_speeddial_info; + +struct ug_priv_data +{ + void (*result_cb)(void*, void*); + void (*destroy_cb)(void*); + void *cb_param; +}; + +typedef struct { + int position; + int skipped_count; + char index[10]; + char prev_index[4]; + Elm_Object_Item *item; +} ct_list_index_data; + +typedef struct { + void *user_data; + Evas_Smart_Cb cb; + char *icon_path; +} ctr_btn_info; + +typedef struct { + Evas_Object *win; + Evas_Object *navi; + Evas_Object *entry; + Elm_Object_Item *navi_it; + Elm_Object_Item *btn_op; + char *name_old; + void *info; + ct_group_rename_update_cb result_cb; + void *fn_data; +} ct_group_edit_data; + +typedef struct { + int id; + char *icon_path; + char *addressbook_name; + int account_id; +}ct_ab_map; + +typedef struct { + void *person; + contacts_record_h contact; + Elm_Object_Item *item; + bool img_loaded; + bool number_loaded; + Eina_Bool checked; + char *img_path; + char *number; + char *display; + char *status_str; + char *display_index; + int id; + int id_ret; + int id_ret_type; + int link_count; + int mode_ab; + Eina_List *addressbook_id_list; + + Eina_List *number_list; + Eina_List *email_list; +}ct_person_list; + +typedef struct { + Evas_Object *win; + Evas_Object *box; + Evas_Object *navi; + Evas_Object *base_layout; + Evas_Object *content_layout; + Evas_Object *layout; + Evas_Object *nocontent; + Evas_Object *searchbar; + Evas_Object *genlist; + Evas_Object *fast_index; + Evas_Object *popup; + Evas_Object *select_all_layout; + Elm_Object_Item *navi_item; + Elm_Object_Item *count_item; + Elm_Object_Item *last_sweep_item; + Elm_Object_Item *search_group_item; + Evas_Object *ctrl_button; + + Elm_Theme *th; + Elm_Genlist_Item_Class itcs[5]; + void(*gl_sel)(void *data, Evas_Object *obj, void *event_info); + void *gl_sel_data; + void (*edit_sel_update)(void *data); + + char group_index[4]; + Elm_Object_Item *group_item; + + char *ug_data; + void *ug; + void *child_ug; + + bool updating; + bool is_background; + bool need_update; + int list_mode;//will be removed. + int view_id; + int tab_mode; + int ug_request; + int list_op; + int base_ab; + int base_ab_mode; + int base_grp; + int readed_n; + int selected_person_id; + int cnt_list_total; + int cnt_checked; + int cnt_max_check; + int cnt_import_total; + int cnt_import; + char *title; + char *sub_title; + char *search_str; + contacts_name_display_order_e order_display; + int acc_count; + ct_ab_map *acc_types; + + ct_list_navi_item_update_fn list_navi_item_update_fn; + + contacts_list_h import_list; + Eina_List *list; + Eina_List *list_index; + Eina_List *list_check; + Eina_List *list_grp_person; + Eina_List *list_delete_records; + Eina_List *list_import_records; + + Ecore_Idler *list_idler; + Ecore_Timer *update_timer; + Ecore_Timer *update_queue_timer; + + int idx_vcard; + const char *vcard_path; + + ph_progress_info *p_info; + ct_select_result_cb select_result_cb; + ct_contact_add_cb contact_add_cb; + void *select_result_cb_data; + +}ct_list_data; + +typedef struct { + Elm_Theme *th; + Evas_Object *win; + Evas_Object *navi; + Evas_Object *layout; + + Elm_Object_Item *titem; + Elm_Object_Item *navi_item; + Elm_Object_Item *prev_navi_item; + Evas_Object *ctrl_button; + Elm_Object_Item *base_info_item; + Elm_Object_Item *base_item; + Elm_Object_Item *util_item; + Elm_Object_Item *number_util_item; + + Evas_Object *popup; + Evas_Object *genlist; + Ecore_Idler *idler; + + Elm_Object_Item *group_item; + Elm_Object_Item *ringtone_item; + Elm_Object_Item *vibration_item; + + int order_display; + + Eina_List *list_number; + Eina_List *list_email; + Eina_List *list_postal; + Eina_List *list_relationship; + Eina_List *list_event; + Eina_List *list_messenger; + Eina_List *list_website; + Eina_List *list_note; + + bool updated; + bool updating; + bool is_shortcut; + bool has_detail; + bool has_input; + bool ug_detail; + bool has_number; + int touch_x; + int touch_y; + int base_grp; + int base_ab; + int base_ab_mode; + int view_mode; + char *base_ab_name; + char* vcard_path; + ui_gadget_h ug; + void *child_ug; + int ug_request; + int view_create_version; + + int person_id; + contacts_record_h person; + contacts_record_h contact; + Eina_List *list_contacts; + Eina_List *list_activity; + + void *prev_view_data; + UDateFormat* formatter; + Evas_Object *genlist_unlink; + ph_progress_info *p_info; + bool only_input; + bool view_destroying; + + bool touch_block; + +}ct_detail_data; + +typedef struct { + Elm_Theme *th; + Evas_Object *win; + Evas_Object *navi; + Evas_Object *layout; + Evas_Object *noc; + Evas_Object *scroller; + Evas_Object *popup; + Evas_Object *history_genlist; + Evas_Object *ctrl_button; + Evas_Object* select_all_layout; + Elm_Object_Item *select_all_item; + Elm_Object_Item *navi_item; + Eina_List *list; + Ecore_Idler *idler; + int person_id; + int list_count; + int pre_date_type; + UDateFormat* hformatter[5]; + UDateFormat* formatter; + int cnt_checked; + int view_mode; + bool updated; + bool updating; + ph_progress_info *p_info; +}ct_history_data; + +typedef struct { + Elm_Theme *th; + Evas_Object *win; + Evas_Object *navi; + Evas_Object *layout; + Evas_Object *activity_genlist; + Evas_Object *ctrl_button; + Elm_Object_Item *navi_item; + Eina_List *list; + int person_id; + int pre_date_type; + UDateFormat* hformatter[5]; + UDateFormat* formatter; + ct_ab_map *acc_types; + int acc_cnt; +}ct_activity_data; + +typedef struct { + Evas_Object *box; + Evas_Object *scroller; + Evas_Object *save_button; + Evas_Object *popup; + Elm_Object_Item *pre_item; + Elm_Object_Item *navi_item; + Ecore_Event_Handler* win_prop_change; + Evas_Object *layout; + + bool add_job_title; + bool add_department; + + Evas_Object *ly_image; + Evas_Object *ly_basic_info; + Evas_Object *ly_basic_info_middle_name; + Evas_Object *ly_basic_info_last_name; + Evas_Object *ly_basic_info_suffix; + Evas_Object *ly_basic_info_nickname; + Evas_Object *ly_basic_info_job_title; + Evas_Object *ly_basic_info_department; + Evas_Object *ly_basic_info_company; + Evas_Object *ly_number_first; + Evas_Object *ly_number_last; + Evas_Object *ly_number_default; + Evas_Object *ly_number_set_default_separator_before; + Evas_Object *ly_number_set_default; + Evas_Object *ly_number_set_default_separator_after; + Evas_Object *ly_number_base; + Evas_Object *ly_email_first; + Evas_Object *ly_email_last; + Evas_Object *ly_email_default; + Evas_Object *ly_email_set_default; + Evas_Object *ly_email_base; + Evas_Object *ly_addr_first; + Evas_Object *ly_addr_last; + + Evas_Object *ly_seperator_more; + Evas_Object *ly_seperator_basic_info; + Evas_Object *ly_messenger_first; + Evas_Object *ly_messenger_last; + Evas_Object *ly_url_first; + Evas_Object *ly_url_last; + Evas_Object *ly_relationship_first; + Evas_Object *ly_relationship_last; + Evas_Object *ly_event_first; + Evas_Object *ly_event_last; + Evas_Object *ly_note; + + Evas_Object *ly_group; + Evas_Object *ly_ringtone; + Evas_Object *ly_vibration; + Evas_Object *ly_address_book; + Evas_Object *ly_moreinfo; + + bool saved; + Eina_Bool save_disable; + int view_create_ver; + int cnt_addr; + int cnt_num; + int idx_append; + + int base_ab; + int base_ab_mode; + char *name_old; + char *base_ab_name; + + int contact_id; + contacts_record_h contact; + ct_detail_data *cdetail_d; + + bool camera_service_launched; + ui_gadget_h src_ug; + ui_gadget_h crop_ug; + bool keypad_on; +}ct_input_data; + + +typedef struct { + Evas_Object *ly_content; + contacts_record_h record; + Evas_Object *data; + const char *view_uri; +}ct_input_typed_data; + +typedef enum { + CT_AB_POPUP_TYPE_INPUT_VIEW, + CT_AB_POPUP_TYPE_GINPUT_VIEW, + CT_AB_POPUP_TYPE_LIST_VIEW, +} ct_addrbook_popup_type; + +typedef struct { + int id; + int mode; + char *name; + bool all_contacts_item; + Elm_Object_Item *item; +} ct_ab_popup_data; + +void phone_free_contacts(Eina_List *list); +Eina_List * phone_load_speeddial_data(int *ref_count); +void phone_free_speeddial_data(Eina_List *list); +char *phone_get_voice_mail_number(void); + +void* phone_launch_msg_composer_ug(void *parent_ug, char *data, int msg_id, void(*destroy_cb)(void*), void *cb_param); +void* phone_launch_contact_list_ug(void *parent_ug, int request, void(*result_cb)(void*, void*), void(*destroy_cb)(void*), void *cb_param); +void* phone_launch_contact_detail_ug(void *parent_ug, int contact_index, void(*destroy_cb)(void*), void *cb_param); +void* phone_launch_contact_add_list_edit_ug(void *parent_ug, char *data, void(*destroy_cb)(void*), void *cb_param); +void* phone_image_crop_ug(ui_gadget_h parent, const char *photo, + struct ug_cbs *cbs); +void* ctui_msg_ug(ui_gadget_h parent, const char *number, const int idx, const char *attach, void(*destroy_cb)(void*), void *cb_param); +void* ctui_account_ug(void *data, Evas_Object *obj, void *event_info, void(*destroy_cb)(void*), void *cb_param); + +void ug_common_destroy_cb(ui_gadget_h ug, void *priv); +void ug_common_layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv); +void ctui_destroy_child_ug(void *data); + +void phone_launch_voice_call(const int id, const char* number); + +Evas_Object *phone_create_base_layout(Evas_Object *parent, bool is_fullview); +Evas_Object *phone_show_popup(Evas_Object *parent, const char *desc, double timeout); +Evas_Object *phone_create_confirm_popup(Evas_Object **popup, Evas_Object *win, const char* description, + void (*btn_clicked_cb)(void *, Evas_Object *, void *), void *cb_data); +Evas_Object *phone_create_list_sweep_btn(Evas_Object *parent, char *fullpath); +Evas_Object *phone_create_bg(Evas_Object *parent); +Evas_Object *phone_create_icon_with_img(Evas_Object *parent, char *full_path); +Evas_Object *phone_create_navi_btn(Evas_Object *parent, const char *style); + +Evas_Object *phone_progressbar_popup(Evas_Object *parent, ph_progress_info *p_info, const char *title); +Evas_Object *phone_get_notify(Evas_Object *parent); +void phone_show_notify(Evas_Object *parent, const char *msg); +void phone_hide_notify(Evas_Object *parent); +void phone_show_tickernoti(const char *); +void phone_view_back_btn_cb(void *data, Evas_Object *obj, void *event_info); +void phone_ug_destroy_me_cb(void *data, Evas_Object *obj, void *event_info); +void phone_back_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info); +void phone_navi_item_clear(Elm_Object_Item *navi_item); +void phone_set_view_info(ph_view_info *view_info, Evas_Object *win, Evas_Object *navi, + void *ug, int ug_request, int cnt_max, char *ug_data); + +void phone_list_ug_return_ids(ui_gadget_h ug, int *result_list, int cnt, const char *bd_key); +void phone_list_ug_return_number_email_ids(ui_gadget_h ug, int *result_number_list, int number_list_count, int *result_email_list, int email_list_count); +void phone_ug_return_id(ui_gadget_h ug, int ct_id, int num_id, int email_id); +void phone_ug_return_vcard(ui_gadget_h ug, int ct_id, char *vcard); +Evas_Object* phone_create_nocontents(Evas_Object *parent, const char* label); +void phone_toolbar_disabled_item_append(Evas_Object *toolbar, int cnt); + +char* ctui_get_addressbook_icon_path(int addressbook_id); +const char* ctui_get_default_contact_img(int view_type); +void ctui_get_number_type_str(contacts_record_h record, int CTS_NUMBER_type, char *dest, int dest_len); +void ctui_ld_to_dd(ct_list_data *clist_d, ct_detail_data *cdetail_d); + +Evas_Object* ctui_addrbook_popup(Evas_Object *parent, Evas_Smart_Cb item_sel_cb, void *sel_cb_data, ct_addrbook_popup_type ab_type); +void ctui_entry_limit_size_set(Evas_Object *entry); +Evas_Object* ctui_create_btn(Evas_Object *parent, const char *label); +void ctui_genlist_append_separator_10px(Evas_Object *genlist); +void ctui_genlist_append_separator_20px(Evas_Object *genlist); +void ctui_navi_btn_disabled_set(Evas_Object *navi, Eina_Bool disabled); +char* ctui_entry_markup_to_utf8(const char *s); +void ctui_entry_entry_set(Evas_Object *entry, const char *s); +Evas_Object* ctui_create_editfield(Evas_Object *parent, const char *title, const char *guide, bool multiline); +void ctui_genlist_append_separator_20px_with_line(Evas_Object *genlist); +void ctui_navi_left_btn_disabled_set(Elm_Object_Item *item, Eina_Bool disabled); +void ctui_list_ug_hide_cb(void *data, Evas_Object *obj, void *event_info); +Evas_Object* phone_create_select_all(Evas_Object *box, const char *selectall_text, selectall_changed_cb cb, void *cb_data); +void ctui_list_free_contacts(Eina_List* list); +void ctui_list_refresh_genlist(ct_list_data *clist_d); +void ctui_list_handle_search(ct_list_data *clist_d); +int phone_detail_log_is_call_ing_type(int type); +int phone_detail_log_is_mms_type(int type); +int phone_detail_log_is_sms_type(int type); +int phone_detail_log_is_email_type(int type); +char* phone_detail_log_get_icon_type(int log_type); +char* phone_detail_log_get_duration_from_number(int number); +void phone_detail_log_init_time_format(void); +void phone_detail_log_generate_date_format(UDateFormat **formatter); +char* phone_detail_log_get_icon_path_with_action(int log_type); +char* phone_detail_log_get_date(UDateFormat ** formatter, int log_time); +char* phone_detail_log_get_time(UDateFormat ** formatter, int log_time); +int phone_detail_log_get_date_type(int log_time, int log_duration); +void phone_detail_log_delete_date_format(UDateFormat **formatter); +int phone_detail_log_get_phonenumber_type(int CTS_NUMBER_type); +char *ph_log_util_get_formatted_date(UDateFormat **formatter, int log_time, date_style style); +void ct_list_clear_pdata(ct_list_data *clist_d); +void phone_move_ctxpopup(Evas_Object *popup, Evas_Object *item); +void phone_resize_notify(Evas_Object *parent, int rotate); +void ctui_get_addressbook_name(int addressbook_id, char *dest, int dest_len); +Eina_List* ctui_person_get_writable_contact_list(int person_id); +Eina_List* ctui_person_get_number_list(Eina_List *contact_list); +Eina_List* ctui_person_get_email_list(Eina_List *contact_list); +Eina_List* ctui_person_get_contact_list(int person_id); +void ctui_free_record_list(Eina_List *contact_list); +int ctui_get_email_type_index(int type); +int ctui_get_mfc_option(void); + +int ctui_get_view_mode(void); +void ctui_set_view_mode(int addressbook_id); + +contacts_error_e phone_cts_get_list(const char *view_uri, int property_id, int match_value, contacts_list_h *out_list); +void phone_cts_free_list(contacts_list_h list); +contacts_error_e phone_cts_get_int_from_list(contacts_list_h list, int property_id, int *out_int); +contacts_error_e phone_cts_get_str_from_list(contacts_list_h list, int property_id, char **out_str); +contacts_error_e phone_cts_get_bool_from_list(contacts_list_h list, int property_id, bool *out_bool); +contacts_error_e phone_cts_get_default_number(int person_id, contacts_record_h *record_clone); +contacts_error_e phone_cts_get_default_email(int person_id, contacts_record_h *record_clone); +void ctui_get_account_name_by_address_book_id(int address_book_id, char *dest, int dest_len); +bool ctui_list_make_vcard(int contactid, char *path, int path_length); +void ctui_list_lazy_update(const char *view_uri, void *data); +char* ctui_list_get_highlight_text(ct_list_data *clist_d, const char *src); +Evas_Object *phone_create_toolbar_btn(Evas_Object *parent, const char *text, Evas_Smart_Cb func, void *data); +Evas_Object* ctui_create_more_btn(Evas_Object *parent, Evas_Smart_Cb func, void *data); +void ctui_popup_hide_cb(void *data, Evas_Object *obj, void *event_info); + + +int ctui_list_checked_cnt_get(Eina_List *list); +void ctui_list_update_selection_info(void *data); +void ctui_list_set_unsweep(ct_list_data *clist_d); + +#endif //__PHONE_COMMON_H__ +contacts_record_h ctui_get_record_image(contacts_record_h record_contact); + + +int ctui_get_addressbook_id_by_index(Eina_List *list, int index); +Eina_List* ctui_get_addressbook_id_list(const char *ori_string, const char *sep); +void ctui_list_edit_navi_pop(void *data, Evas_Object *obj, void *event_info); +int ctui_get_addressbook_id(char* addressbook_name); + +void ctui_create_contacts_error_popup(Evas_Object *parent, int err); + +void ctui_list_searchbar_cancel_cb(void *data, Evas_Object *obj, void *event_info); + |