GVariant *parameters,
gpointer user_data);
+/* LCOV_EXCL_START */
static void __bt_convert_addr_type_to_rev_string(char *address,
unsigned char *addr)
{
}
return BT_HFP_AGENT_ERROR_NONE;
}
+/* LCOV_EXCL_STOP */
gboolean _bt_ag_agent_emit_signal(
GDBusConnection *connection,
&error);
if (!ret) {
if (error != NULL) {
+ /* LCOV_EXCL_START */
/* dBUS gives error cause */
ERR("D-Bus API failure: errCode[%x], message[%s]",
error->code, error->message);
g_clear_error(&error);
+ /* LCOV_EXCL_STOP */
}
}
INFO_C("Emit Signal done = [%s]", name);
return ret;
}
+/* LCOV_EXCL_START */
static void __bt_ag_agent_start_watch(bt_ag_info_t *bt_ag_info)
{
bt_ag_info->watch_id = g_io_add_watch(bt_ag_info->io_chan,
return TRUE;
}
#endif /* TIZEN_SUPPORT_DUAL_HF */
+/* LCOV_EXCL_STOP */
static gboolean __bt_is_phone_locked(int *phone_lock_state)
{
ret = vconf_get_int(VCONFKEY_IDLE_LOCK_STATE, phone_lock_state);
if (ret != 0) {
+ /* LCOV_EXCL_START */
ERR("Failed to read [%s]\n", VCONFKEY_IDLE_LOCK_STATE);
return FALSE;
+ /* LCOV_EXCL_STOP */
}
FN_END;
#endif
}
+/* LCOV_EXCL_START */
static gboolean __bt_ag_agent_launch_call_app(const char *number)
{
FN_START;
FN_END;
return TRUE;
}
+/* LCOV_EXCL_STOP */
bt_hfp_agent_error_t _bt_ag_agent_dial_num(const gchar *number, guint flags)
{
goto fail;
}
+ /* LCOV_EXCL_START */
if (callapp_type == BT_VIDEO_CALL) {
if (!__bt_ag_agent_make_video_call(number)) {
ERR("Problem launching application");
goto fail;
}
}
+ /* LCOV_EXCL_STOP */
fail:
FN_END;
return BT_HFP_AGENT_ERROR_INTERNAL;
}
+ /* LCOV_EXCL_START */
contacts_filter_create(_contacts_speeddial._uri, &filter);
if (filter == NULL)
FN_END;
return error_code;
+ /* LCOV_EXCL_STOP */
}
+/* LCOV_EXCL_START */
bt_hfp_agent_error_t _bt_ag_agent_send_dtmf(const gchar *dtmf,
const gchar *path, const gchar *sender)
{
FN_END;
return TRUE;
}
+/* LCOV_EXCL_STOP */
bt_hfp_agent_error_t _bt_ag_agent_dial_last_num(void *device)
{
return err_code;
}
+ /* LCOV_EXCL_START */
contacts_filter_create(_contacts_phone_log._uri, &filter);
if (filter == NULL)
FN_END;
return err_code;
+ /* LCOV_EXCL_STOP */
}
+/* LCOV_EXCL_START */
bt_hfp_agent_error_t _bt_ag_agent_vendor_cmd(const gchar *cmd,
const gchar *path, const gchar *sender)
{
FN_END;
return ret;
}
+/* LCOV_EXCL_STOP */
gboolean _bt_ag_agent_get_signal_quality(void *device)
{
FN_START;
if (vconf_get_int(VCONFKEY_TELEPHONY_RSSI, &rssi)) {
- DBG("VCONFKEY_TELEPHONY_RSSI failed\n");
+ DBG("VCONFKEY_TELEPHONY_RSSI failed\n"); /* LCOV_EXCL_LINE */
goto fail;
}
FN_END;
return TRUE;
fail:
+ /* LCOV_EXCL_START */
FN_END;
_bt_hfp_signal_quality_reply(-1, -1, device);
return FALSE;
+ /* LCOV_EXCL_STOP */
}
gboolean _bt_ag_agent_get_battery_status(void *device)
if (vconf_get_int(VCONFKEY_SYSMAN_BATTERY_CHARGE_NOW,
&battery_chrg_status)) {
- DBG("VCONFKEY_SYSMAN_BATTERY_CHARGE_NOW failed\n");
+ DBG("VCONFKEY_SYSMAN_BATTERY_CHARGE_NOW failed\n"); /* LCOV_EXCL_LINE */
goto fail;
}
if (vconf_get_int(VCONFKEY_SYSMAN_BATTERY_CAPACITY,
&battery_capacity)) {
- DBG("VCONFKEY_SYSMAN_BATTERY_CAPACITY failed\n");
+ DBG("VCONFKEY_SYSMAN_BATTERY_CAPACITY failed\n"); /* LCOV_EXCL_LINE */
goto fail;
}
return TRUE;
fail:
+ /* LCOV_EXCL_START */
_bt_hfp_battery_property_reply(device, -1, -1);
FN_END;
return FALSE;
+ /* LCOV_EXCL_STOP */
}
gboolean _bt_ag_agent_get_operator_name(void *device)
operator_name = vconf_get_str(VCONFKEY_TELEPHONY_NWNAME);
if (NULL == operator_name) {
+ /* LCOV_EXCL_START */
DBG("vconf_get_str failed");
_bt_hfp_operator_reply(NULL, device);
return FALSE;
+ /* LCOV_EXCL_STOP */
}
DBG("operator_name = [%s]", operator_name);
goto fail;
}
+ /* LCOV_EXCL_START */
if (!g_utf8_validate(imei_number, -1, NULL)) {
free(imei_number);
ERR("get_imei_number : invalid UTF8");
free(imei_number);
FN_END;
return TRUE;
-
+ /* LCOV_EXCL_STOP */
fail:
_bt_hfp_get_imei_number_reply(NULL, device);
FN_END;
ret = system_info_get_platform_string("http://tizen.org/system/manufacturer",
&manufacturer_name);
if (SYSTEM_INFO_ERROR_NONE != ret) {
+ /* LCOV_EXCL_START */
ERR("Get manufacturer_name failed : %d", ret);
if (NULL != manufacturer_name)
free(manufacturer_name);
manufacturer_name = g_strdup("Unknown");
+ /* LCOV_EXCL_STOP */
} else if (!g_utf8_validate(manufacturer_name, -1, NULL)) {
+ /* LCOV_EXCL_START */
free(manufacturer_name);
manufacturer_name = g_strdup("Unknown");
ERR("get_manufacturer_name : invalid UTF8");
+ /* LCOV_EXCL_STOP */
}
DBG_SECURE("manufacturer_name = [%s]", manufacturer_name);
ERR("tel_get_sim_imsi failed");
goto fail;
}
+ /* LCOV_EXCL_START */
DBG_SECURE("tapi values %s %s %s", imsi.szMcc, imsi.szMnc, imsi.szMsin);
_bt_hfp_get_imsi_reply(imsi.szMcc, imsi.szMnc, imsi.szMsin, device);
FN_END;
return;
+ /* LCOV_EXCL_STOP */
fail:
_bt_hfp_get_imsi_reply(NULL, NULL, NULL, device);
FN_END;
}
+/* LCOV_EXCL_START */
int _bt_ag_agent_registration_status_convert(int result)
{
switch (result) {
}
return result;
}
+/* LCOV_EXCL_STOP */
void _bt_ag_agent_get_creg_status(void *device)
{
ERR("tel_get_property_int failed");
return;
}
+ /* LCOV_EXCL_START */
registration_status =
_bt_ag_agent_registration_status_convert(result);
FN_END;
return;
+ /* LCOV_EXCL_STOP */
}
void _bt_ag_agent_get_model_name(void *device)
return __bt_ag_agent_launch_voice_dial(activate);
}
+/* LCOV_EXCL_START */
static void __bt_ag_codec_negotiation_info_reset(bt_ag_info_t *hs,
gboolean reset)
{
for (i = 5; i >= 0; i--, str += 3)
ba->b[i] = strtol(str, NULL, 16);
}
+/* LCOV_EXCL_STOP */
static const char *__bt_ag_state2str(hs_state_t state)
{
}
}
+/* LCOV_EXCL_START */
static gboolean __bt_ag_check_nval(GIOChannel *chan)
{
struct pollfd file_desc;
return TRUE;
}
+/* LCOV_EXCL_STOP */
static int __bt_ag_start_sco_server(bt_ag_info_t *hs)
{
return BT_HFP_AGENT_ERROR_INTERNAL;
}
+/* LCOV_EXCL_START */
void __bt_ag_stop_sco_server(bt_ag_info_t *hs)
{
DBG("Stop SCO server");
INFO("STATE CHANGED from [%s(%d)] to [%s(%d)]",
__bt_ag_state2str(org_state), org_state, __bt_ag_state2str(state), state);
}
+/* LCOV_EXCL_STOP */
static struct event at_event_callbacks[] = {
{ "AT+BRSF", _bt_hfp_supported_features },
int num_of_secure_command = 4;
static const char* secure_command[] = {"CLCC", "CLIP", "CPBR", "CCWA"};
+/* LCOV_EXCL_START */
static void __bt_ag_agent_print_at_buffer(char *message, const char *buf)
{
return -EINVAL;
}
+/* LCOV_EXCL_STOP */
static int __bt_ag_send_at_valist(bt_ag_info_t *hdset, va_list list,
char *list_format)
}
}
+/* LCOV_EXCL_START */
static gboolean __bt_ag_event_handler(GIOChannel *channel,
GIOCondition cond, void *user_data)
{
return FALSE;
}
+/* LCOV_EXCL_STOP */
/*
* Service level connection complete
_bt_ag_set_headset_state(hs, HEADSET_STATE_CONNECTED);
}
+/* LCOV_EXCL_START */
static gboolean __bt_ag_agent_connection_release(bt_ag_info_t *hs)
{
return BT_HFP_AGENT_ERROR_INTERNAL;
}
+/* LCOV_EXCL_STOP */
#ifdef TIZEN_FEATURE_BT_MEDIA_ENHANCE
void _bt_ag_agent_check_transport_state(void)
FN_END;
}
#endif
+
+/* LCOV_EXCL_START */
static void __bt_ag_agent_dbus_init(void)
{
FN_START;
FN_END;
return;
}
+/* LCOV_EXCL_STOP */
static uint32_t __bt_ag_agent_get_ag_features(void)
{
return ag_features;
}
+/* LCOV_EXCL_START */
void *__bt_ag_agent_telephony_init(void *arg)
{
INFO_C("### Terminating Bluetooth AG agent");
return 0;
}
+/* LCOV_EXCL_STOP */
.pcm_interface_rate = 0x00,
};
+/* LCOV_EXCL_START */
/* AT+BRSF response */
int _bt_hfp_supported_features(bt_ag_info_t *hs, const char *buf)
{
else
return -1;
}
+/* LCOV_EXCL_STOP */
static int __bt_hfp_cmp(bt_ag_info_t *hs)
{
return -1;
}
+/* LCOV_EXCL_START */
static int __bt_cwa_cmp(bt_ag_info_t *hs)
{
if (!hs->hfp_active)
return 0;
}
+/* LCOV_EXCL_STOP */
void _bt_hfp_set_ag_indicator(uint32_t ag_features,
const bt_ag_indicators_t *ag_indicators, int rh,
ag.er_mode = 3;
}
+/* LCOV_EXCL_START */
/* Send event indication call from Statemanager module */
bt_hfp_agent_error_t _bt_hfp_event_indicator(int index)
{
return _bt_ag_send_at(hs, "\r\nOK\r\n");
}
+/* LCOV_EXCL_STOP */
int _bt_transmit_dtmf_response(void *t_device,
bt_hfp_agent_error_t err)
return _bt_ag_send_response(t_device, err);
}
+/* LCOV_EXCL_START */
int _bt_hfp_dtmf_tone(bt_ag_info_t *hs, const char *buf)
{
char tone;
return BT_HFP_AGENT_ERROR_NONE;
}
+/* LCOV_EXCL_STOP */
int _bt_vendor_cmd_response(void *t_device,
bt_hfp_agent_error_t err)
return _bt_ag_send_response(t_device, err);
}
+/* LCOV_EXCL_START */
int _bt_hfp_vendor_cmd(bt_ag_info_t *hs, const char *buf)
{
DBG("XSAT vendor command");
call_num, type, service);
return 0;
}
+/* LCOV_EXCL_STOP */
int _bt_subscriber_number_response(void *t_device,
bt_hfp_agent_error_t err)
return _bt_ag_send_response(t_device, err);
}
+/* LCOV_EXCL_START */
int _bt_hfp_subscriber_number(bt_ag_info_t *hs, const char *buf)
{
_bt_hfp_subscriber_number_request(hs);
number, type);
return 0;
}
+/* LCOV_EXCL_STOP */
int _bt_list_current_calls_response(void *t_device,
bt_hfp_agent_error_t err)
return _bt_ag_send_response(t_device, err);
}
+/* LCOV_EXCL_START */
int _bt_hfp_list_current_calls(bt_ag_info_t *hs, const char *buf)
{
_bt_list_current_calls(hs);
return _bt_ag_send_at(hs, "\r\nOK\r\n");
}
+/* LCOV_EXCL_STOP */
int _bt_operator_selection_response(void *t_device,
bt_hfp_agent_error_t err)
return 0;
}
+/* LCOV_EXCL_START */
int _bt_hfp_operator_selection(bt_ag_info_t *hs, const char *buf)
{
if (strlen(buf) < 8)
_bt_hfp_set_indicators(&buf[6], hs);
return 0;
}
+/* LCOV_EXCL_STOP */
int _bt_indicators_activation_response(void *t_device,
bt_hfp_agent_error_t err)
return _bt_ag_send_response(t_device, err);
}
+/* LCOV_EXCL_START */
int _bt_hfp_select_pb_memory(bt_ag_info_t *hs, const char *buf)
{
if (strlen(buf) < 8)
return -EINVAL;
}
+/* LCOV_EXCL_STOP */
int _bt_read_phonebook_entries_list_response(void *t_device,
uint32_t used,
return _bt_ag_send_response(t_device, err);
}
+/* LCOV_EXCL_START */
int _bt_read_phonebook_entries_indicator(const char *name, const char *number,
uint32_t handle)
{
return 0;
}
+/* LCOV_EXCL_STOP */
int _bt_find_phonebook_entries_status_response(void *t_device,
bt_hfp_agent_error_t err)
return 0;
}
+/* LCOV_EXCL_START */
int _bt_hfp_find_pb_entires(bt_ag_info_t *hs, const char *buf)
{
if (strlen(buf) < 8)
return 0;
}
+/* LCOV_EXCL_STOP */
int _bt_supported_character_generic_response(void *t_device,
char *character_set_list,
return _bt_ag_send_response(t_device, err);
}
+/* LCOV_EXCL_START */
int _bt_hfp_select_character_set(bt_ag_info_t *hs, const char *buf)
{
if (NULL != buf) {
return 0;
}
+/* LCOV_EXCL_STOP */
int _bt_battery_charge_status_response(void *t_device,
int32_t bcs,
return _bt_ag_send_response(hs, err);
}
+/* LCOV_EXCL_START */
int _bt_hfp_get_battery_charge_status(bt_ag_info_t *hs, const char *buf)
{
if (strlen(buf) < 6)
return _bt_ag_send_response(hs, HFP_STATE_MNGR_ERR_NONE);
}
+/* LCOV_EXCL_STOP */
/* convert signal strength to a RSSI level */
static int __bt_telephony_convert_signal_to_rssi(int signal)
return _bt_ag_send_response(hs, err);
}
+/* LCOV_EXCL_START */
int _bt_telephony_signal_quality_list_supported_response(void *t_device,
bt_hfp_agent_error_t err)
{
return 0;
}
+/* LCOV_EXCL_STOP */
int _bt_hfp_get_activity_status_rsp(void *t_device,
int status,
return _bt_ag_send_response(device, err);
}
+/* LCOV_EXCL_START */
int _bt_hfp_get_activity_status(bt_ag_info_t *device, const char *buf)
{
if (strlen(buf) < 7)
_bt_get_activity_status(device);
return 0;
}
+/* LCOV_EXCL_STOP */
int _bt_hfp_get_equipment_identity_rsp(void *t_device,
char *identity, bt_hfp_agent_error_t err)
.charset_id = 0
};
+/* LCOV_EXCL_START */
static gboolean __bt_hfp_check_for_callpath(const char *call_path,
const char *call_sender)
{
g_free(t_call->call_sender);
g_free(t_call);
}
+/* LCOV_EXCL_STOP */
static void __bt_hfp_reset_indicators(void)
{
_bt_hfp_deinitialize();
}
+/* LCOV_EXCL_START */
bt_hfp_agent_error_t _bt_hfp_register_telephony_agent(gboolean register_flag,
const char *path_to_register,
const char *sender)
}
return t_call;
}
+/* LCOV_EXCL_STOP */
gboolean _bt_hfp_is_call_exist(void)
{
GSList *temp_list = existing_call_list;
if (existing_call_list != NULL) {
+ /* LCOV_EXCL_START */
while (temp_list != NULL) {
struct telephony_call *t_call = temp_list->data;
if (t_call->call_status == call_status)
return t_call;
temp_list = temp_list->next;
}
+ /* LCOV_EXCL_STOP */
}
DBG("Existing call list is NULL. So return NULL");
return NULL;
}
+/* LCOV_EXCL_START */
static bt_hfp_agent_error_t __bt_hfp_modify_indicator(
const char *indicator_name,
int update_value)
return ret;
}
+/* LCOV_EXCL_STOP */
int _bt_hfp_set_property_name(const char *property, const char *operator_name)
{
return ret;
}
+/* LCOV_EXCL_START */
static int __bt_hfp_answer_call(struct telephony_call *t_call)
{
if (t_call->call_id != 0 && t_call->call_path != NULL &&
}
return -1;
}
+/* LCOV_EXCL_STOP */
void _bt_hfp_answer_call_request(void *t_device)
{
return;
}
+ /* LCOV_EXCL_START */
if (__bt_hfp_answer_call(t_call) < 0)
_bt_answer_call_response(t_device,
HFP_STATE_MNGR_ERR_AG_FAILURE);
else
_bt_answer_call_response(t_device, HFP_STATE_MNGR_ERR_NONE);
+ /* LCOV_EXCL_STOP */
}
if (error_code == BT_HFP_AGENT_ERROR_NONE)
_bt_dial_number_response(t_device,
- HFP_STATE_MNGR_ERR_NONE);
+ HFP_STATE_MNGR_ERR_NONE); /* LCOV_EXCL_LINE */
else
_bt_dial_number_response(t_device,
HFP_STATE_MNGR_ERR_AG_FAILURE);
return;
}
- _bt_dial_number_response(t_device, HFP_STATE_MNGR_ERR_AG_FAILURE);
+ _bt_dial_number_response(t_device, HFP_STATE_MNGR_ERR_AG_FAILURE); /* LCOV_EXCL_LINE */
}
HFP_STATE_MNGR_ERR_NONE);
}
+/* LCOV_EXCL_START */
static int __bt_bt_hfp_reject_call(struct telephony_call *t_call)
{
gboolean ret;
}
return 0;
}
+/* LCOV_EXCL_STOP */
void _bt_hfp_terminate_call_request(void *t_device)
{
DBG("Find non-idle call");
GSList *temp_call_list = existing_call_list;
while (temp_call_list != NULL) {
+ /* LCOV_EXCL_START */
t_call = temp_call_list->data;
if (t_call->call_status == HFP_AGENT_CALL_IDLE)
temp_call_list = temp_call_list->next;
else
break;
+ /* LCOV_EXCL_STOP */
}
}
return;
}
+ /* LCOV_EXCL_START */
if (__bt_hfp_get_call_with_status(HFP_CALL_STATUS_WAITING) != NULL) {
int value = 1;
t_error = _bt_ag_agent_threeway_call(value, t_call->call_path,
HFP_STATE_MNGR_ERR_AG_FAILURE);
else
_bt_terminate_call_response(t_device, HFP_STATE_MNGR_ERR_NONE);
+ /* LCOV_EXCL_STOP */
}
void _bt_hfp_call_hold_request(const char *t_cmd, void *t_device)
}
}
+ /* LCOV_EXCL_START */
while (t_sender_list != NULL) {
sender_info = t_sender_list->data;
if (sender_info == NULL) {
_bt_call_hold_response(t_device, HFP_STATE_MNGR_ERR_NONE);
else
_bt_call_hold_response(t_device, HFP_STATE_MNGR_ERR_AG_FAILURE);
+ /* LCOV_EXCL_STOP */
}
void _bt_hfp_key_press_request(const char *t_key_press, void *t_device)
}
}
+ /* LCOV_EXCL_START */
if (_bt_ag_agent_send_dtmf(tone_buffer, t_call->call_path,
t_call->call_sender) != BT_HFP_AGENT_ERROR_NONE) {
_bt_transmit_dtmf_response(t_device,
}
_bt_transmit_dtmf_response(t_device, HFP_STATE_MNGR_ERR_NONE);
+ /* LCOV_EXCL_STOP */
}
void _bt_hfp_vendor_cmd_request(const char *cmd,
bt_hfp_agent_error_t error = BT_HFP_AGENT_ERROR_NONE;
if (NULL != t_sender_list) {
+ /* LCOV_EXCL_START */
for (l = t_sender_list; l != NULL; l = l->next) {
sender_info = l->data;
error = _bt_ag_agent_vendor_cmd(cmd,
if (error != BT_HFP_AGENT_ERROR_NONE)
break;
}
+ /* LCOV_EXCL_STOP */
}
if (error != BT_HFP_AGENT_ERROR_NONE)
void _bt_hfp_subscriber_number_request(void *t_device)
{
if (ag_subscriber_num != NULL) {
-
+ /* LCOV_EXCL_START */
int t_number = AGENT_NUMBER_TYPE_TELEPHONY;
if (ag_subscriber_num[0] == '+' || strncmp(
_bt_subscriber_number_indicator(ag_subscriber_num,
t_number, AGENT_SUBSCRIBER_SERVICE_VOICE);
+ /* LCOV_EXCL_STOP */
}
_bt_subscriber_number_response(t_device, HFP_STATE_MNGR_ERR_NONE);
}
+/* LCOV_EXCL_START */
static int __bt_hfp_get_call_status(struct telephony_call *t_call)
{
switch (t_call->call_status) {
return -1;
}
}
+/* LCOV_EXCL_STOP */
void _bt_list_current_calls(void *t_device)
{
int index;
while (t_call_list != NULL) {
+ /* LCOV_EXCL_START */
struct telephony_call *t_call = t_call_list->data;
t_status = __bt_hfp_get_call_status(t_call);
if (t_status >= 0) {
t_number);
}
t_call_list = t_call_list->next;
+ /* LCOV_EXCL_STOP */
}
_bt_list_current_calls_response(t_device, HFP_STATE_MNGR_ERR_NONE);
}
DBG("sender [%s]", sender);
while (temp_list != NULL) {
+ /* LCOV_EXCL_START */
struct telephony_call *t_call = temp_list->data;
if (g_strcmp0(t_call->call_sender, sender) == 0) {
temp_list = next_list;
} else
temp_list = temp_list->next;
+ /* LCOV_EXCL_STOP */
}
}
while (hfp_ag_ind[i].indicator_desc != NULL && str != NULL) {
str++;
+ /* LCOV_EXCL_START */
if ((g_strcmp0(hfp_ag_ind[i].indicator_desc, "call") != 0) &&
(g_strcmp0(hfp_ag_ind[i].indicator_desc, "callheld") != 0) &&
(g_strcmp0(hfp_ag_ind[i].indicator_desc, "callsetup") != 0)) {
}
str = strchr(str, delims);
i++;
+ /* LCOV_EXCL_STOP */
}
_bt_indicators_activation_response(t_device, HFP_STATE_MNGR_ERR_NONE);
return -1;
}
+ /* LCOV_EXCL_START */
ret = g_dbus_proxy_call_sync(g_proxy, "GetPhonebookSizeAt",
g_variant_new("(s)",
path),
g_object_unref(g_conn);
if (g_proxy)
g_object_unref(g_proxy);
+ /* LCOV_EXCL_STOP */
#endif
return 0;
}
return -1;
}
+ /* LCOV_EXCL_START */
ret = g_dbus_proxy_call_sync(g_proxy, "GetPhonebookEntriesAt",
g_variant_new("(sii)",
agent_pb_store_list[ag_pb_info.path_id],
g_object_unref(g_conn);
if (g_proxy)
g_object_unref(g_proxy);
+ /* LCOV_EXCL_STOP */
#endif
return count;
}