summaryrefslogtreecommitdiff
path: root/lib/common/include/phone-common.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/common/include/phone-common.h')
-rwxr-xr-xlib/common/include/phone-common.h760
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);
+