static TelReturn __call_list_get(CoreObject *co, gboolean flag);
-
static TelCallType __call_type(int type)
{
dbg("Entry");
return TEL_CALL_TYPE_VIDEO;
default:
- err("invalid call type, returing default call type as voice");
+ err("invalid call type, returning default call type as voice");
return TEL_CALL_TYPE_VOICE;
}
}
}
}
-static void __call_branch_by_status(CoreObject *co, CallObject *call_obj, TelCallState call_state)
+static void __call_branch_by_status(CoreObject *co, CallObject *call_obj,
+ TelCallState call_state)
{
unsigned int call_id;
TelCallType call_type;
tcore_call_object_get_active_line(call_obj, &incoming.active_line);
/* Send notification */
- tcore_object_send_notification(co, command, sizeof(TelCallIncomingInfo), &incoming);
+ tcore_object_send_notification(co, command,
+ sizeof(TelCallIncomingInfo), &incoming);
return;
}
if (NULL == resp) {
err("Number is NULL");
} else {
- // Strike off double quotes
+ /* Strike off double quotes */
num = tcore_at_tok_extract(resp);
dbg("Number: [%s]", num);
g_slist_free(list);
return;
}
- g_slist_free(list);
call_obj = tcore_call_object_find_by_id(co, call_id);
if (call_obj != NULL) {
tcore_check_return_assert(resp_cb_data != NULL);
if (at_resp && at_resp->success) {
- result = TEL_CALL_RESULT_SUCCESS;
if (NULL == at_resp->lines) {
err("invalid response received");
return;
lines = (GSList *) at_resp->lines;
count = g_slist_length(lines);
- dbg("Total records : %d", g_slist_length(lines));
+ dbg("Total records : %d", count);
if (0 == count) {
err("Call count is zero");
return;
}
-
+ result = TEL_CALL_RESULT_SUCCESS;
dbg("RESPONSE OK");
/* parse +CLCC notification parameter */
TelReturn ret;
/* Response callback data */
- resp_cb_data = imc_create_resp_cb_data(cb, cb_data, func_name, strlen(func_name) + 1);
+ resp_cb_data = imc_create_resp_cb_data(cb, cb_data, func_name,
+ strlen(func_name) + 1);
/* Send Request to modem */
ret = tcore_at_prepare_and_send_request(co,
* Response -
* Success:
*[+CLCC: <id1>, <dir>, <stat>, <mode>,<mpty>[,<number>,<type>[,<alpha>[,<priority>]]]
- *[<CR><LF> +CLCC: <id2>,<dir>,<stat>,<mode>,<mpty>[,<number>,<type>[,<alpha>[,<priority>]]][\85]]]
+ *
* OK
* Failure:
* +CME ERROR: <error>
static TelReturn __call_list_get(CoreObject *co, gboolean flag)
{
ImcRespCbData *resp_cb_data;
- TelReturn ret =TEL_RETURN_FAILURE;
+ TelReturn ret = TEL_RETURN_FAILURE;
dbg("Entry");
if (NULL == co) {
* 4 ringing (MT call)
* 5 waiting (MT call)
* 6 disconnected
-* 7 connected (indicates the completion of a call setup first time for MT and MO calls \96 this is reported in
-addition to state active)
+* 7 connected (indicates the completion of a call setup first time for MT and MO calls
+* this is reported in addition to state active)
*/
static gboolean on_notification_imc_call_status(CoreObject *co, const void *data,
void *user_data)
call_handle = g_slist_nth_data(tokens, 0);
if (NULL == call_handle) {
- err("call_id missing from %XCALLSTAT indiaction");
+ err("call id missing from %XCALLSTAT indication");
goto OUT;
}
call_id = atoi(call_handle);
state = g_slist_nth_data(tokens, 1);
if (NULL == state) {
- err("State is missing from %XCALLSTAT indication");
+ err("call state is missing from %XCALLSTAT indication");
goto OUT;
}
status = atoi(state);
- dbg("call_id[%d], status[%d]", call_id, status);
+ dbg("call id[%d], status[%d]", call_id, status);
switch (status) {
case STATUS_INCOMING:
char *cmd = 0;
int index = 0;
int code2 = -1;
- char number[TEL_CALL_CALLING_NUMBER_LEN_MAX + 1] = {'\0',};
+ char *number = NULL;
dbg("entry");
/* parse <code2> */
resp = g_slist_nth_data(tokens, 0);
if (NULL == resp) {
- err("Code2 is missing from %CSSU indiaction");
+ err("Code2 is missing from +CSSU indication");
tcore_at_tok_free(tokens);
return TRUE;
}
if ((resp = g_slist_nth_data(tokens, 2))) {
/* Strike off double quotes */
- int len = strlen(resp) - 2;
- memcpy(number, resp + 1, len);
- number[len] = '\0';;
+ number = tcore_at_tok_extract(resp);
}
dbg("+CSSU: <code2> = %d <index> = %d <number> = %s ", code2, index, number);
if (command != TCORE_NOTIFICATION_UNKNOWN)
tcore_object_send_notification(co, command, 0, NULL);
tcore_at_tok_free(tokens);
+ g_free(number);
return TRUE;
}
/* parse <code1> */
resp = g_slist_nth_data(tokens, 0);
if (NULL == resp) {
- err("<code1> is missing from %CSSI indiaction");
+ err("<code1> is missing from %CSSI indication");
tcore_at_tok_free(tokens);
return TRUE;
}
CoreObject *co = tcore_pending_ref_core_object(p);
ImcRespCbData *resp_cb_data = user_data;
- TelCallResult result;
+ TelCallResult result = TEL_CALL_RESULT_FAILURE;
dbg("entry");
tcore_check_return_assert(co != NULL);
if (at_resp && at_resp->success) {
result = TEL_CALL_RESULT_SUCCESS;
} else {
- err("ERROR[%s]",at_resp->final_response);
- result = TEL_CALL_RESULT_FAILURE;
- /*TODO - need to map CME error and final response error to TelCallResult */
+ err("ERROR[%s] CME error[%s]",at_resp->final_response,
+ at_resp->lines->data);
+ /*
+ * TODO - need to map CME error and final
+ * response error to TelCallResult
+ */
}
dbg("%s: [%s]", IMC_GET_DATA_FROM_RESP_CB_DATA(resp_cb_data),
char *resp_str = NULL;
gboolean error;
- TelCallResult result = TEL_CALL_RESULT_FAILURE; // TODO: XDRV error mapping is required
+ /* TODO: XDRV error mapping required */
+ TelCallResult result = TEL_CALL_RESULT_FAILURE;
dbg("Enter");
tcore_check_return_assert(co != NULL);
tokens = tcore_at_tok_new(line->data);
if (!g_slist_nth_data(tokens, 0)) {
- err("group_id is missing");
+ err("group_id missing");
goto OUT;
}
if (!g_slist_nth_data(tokens, 1)) {
- err(" function_id is missing");
+ err(" function_id missing");
goto OUT;
}
goto OUT;
}
- /* Fetch from resp_cb_data */
- volume_info = (struct imc_set_volume_info *)IMC_GET_DATA_FROM_RESP_CB_DATA(resp_cb_data);
+ /* Fetch volume_info from resp_cb_data */
+ volume_info = (struct imc_set_volume_info *)
+ IMC_GET_DATA_FROM_RESP_CB_DATA(resp_cb_data);
dbg("volume info index[%d]", volume_info->next_index);
if (xdrv_set_volume[volume_info->next_index] == NULL) {
at_cmd = g_strdup_printf("%s%s",
xdrv_set_volume[volume_info->next_index], vol);
- /* Increament index to point to next command */
+ /* Increment index to point to next xdrv command */
volume_info->next_index += 1;
/* Send Request to modem */
at_cmd, "+XDRV",
TCORE_AT_COMMAND_TYPE_SINGLELINE,
NULL,
- on_response_imc_call_set_volume_info, resp_cb_data,
- on_send_imc_request, NULL);
+ on_response_imc_call_set_volume_info,
+ resp_cb_data, on_send_imc_request, NULL);
IMC_CHECK_REQUEST_RET(ret, resp_cb_data, "imc_call_set_volume_info");
g_free(at_cmd);
line = at_resp->lines;
tokens = tcore_at_tok_new(line->data);
if (!g_slist_nth_data(tokens, 0)) {
- err("group_id is missing");
+ err("group_id missing");
goto OUT;
}
if (!(resp_str = g_slist_nth_data(tokens, 1))) {
- err(" function_id is missing");
+ err("function_id missing");
goto OUT;
}
-
xdrv_func_id = atoi(resp_str);
- resp_str = g_slist_nth_data(tokens, 2);
- if (resp_str) {
- error = atoi(resp_str);
- if (error) {
- err("RESPONSE NOK");
- goto OUT;
- } else {
- if (xdrv_func_id == 4) {
- /* Send next command to configure destination device type */
- gchar *at_cmd;
- TelReturn ret;
- gint *device_type = IMC_GET_DATA_FROM_RESP_CB_DATA(resp_cb_data);
-
- at_cmd = g_strdup_printf("AT+XDRV=40,5,2,0,0,0,0,0,1,0,1,0,%d",
- *device_type);
-
- ret = tcore_at_prepare_and_send_request(co,
- at_cmd, "+XDRV",
- TCORE_AT_COMMAND_TYPE_SINGLELINE,
- NULL,
- on_response_imc_call_set_sound_path, resp_cb_data,
- on_send_imc_request, NULL);
- IMC_CHECK_REQUEST_RET(ret, resp_cb_data, "imc_call_set_sound_path");
- g_free(at_cmd);
-
- return;
- }
- dbg("RESPONSE OK");
- result = TEL_CALL_RESULT_SUCCESS;
- }
+ if (!(resp_str = g_slist_nth_data(tokens, 2))) {
+ err("RESPONSE NOK");
+ goto OUT;
+ }
+ error = atoi(resp_str);
+ if (error) {
+ err("RESPONSE NOK");
+ goto OUT;
}
+
+ if (xdrv_func_id == 4) {
+ /* Send next command to configure destination device type */
+ gchar *at_cmd;
+ TelReturn ret;
+ gint *device_type = IMC_GET_DATA_FROM_RESP_CB_DATA(resp_cb_data);
+
+ at_cmd = g_strdup_printf("AT+XDRV=40,5,2,0,0,0,0,0,1,0,1,0,%d",
+ *device_type);
+
+ ret = tcore_at_prepare_and_send_request(co,
+ at_cmd, "+XDRV",
+ TCORE_AT_COMMAND_TYPE_SINGLELINE,
+ NULL,
+ on_response_imc_call_set_sound_path, resp_cb_data,
+ on_send_imc_request, NULL);
+ IMC_CHECK_REQUEST_RET(ret, resp_cb_data, "imc_call_set_sound_path");
+ g_free(at_cmd);
+
+ return;
+ }
+ dbg("RESPONSE OK");
+ result = TEL_CALL_RESULT_SUCCESS;
}
OUT :
tcore_check_return_assert(resp_cb_data != NULL);
if (at_resp && at_resp->success) {
- result = TEL_CALL_RESULT_SUCCESS;
line = (((GSList *)at_resp->lines)->data);
tokens = tcore_at_tok_new(line);
resp_str = g_slist_nth_data(tokens, 0);
if (!g_slist_nth_data(tokens, 0)) {
- err("group_id is missing");
- result = TEL_CALL_RESULT_FAILURE;
+ err("group_id missing");
goto OUT;
}
if (!g_slist_nth_data(tokens, 1)) {
- err(" function_id is missing");
- result = TEL_CALL_RESULT_FAILURE;
+ err("function_id missing");
goto OUT;
}
resp_str = g_slist_nth_data(tokens, 2);
- if (resp_str) {
- error = atoi(resp_str);
- if (error) {
- result = TEL_CALL_RESULT_FAILURE;
- goto OUT;
- } else {
- result = TEL_CALL_RESULT_SUCCESS;
- }
+ if (!(resp_str = g_slist_nth_data(tokens, 1))) {
+ err("xdrv_result missing");
+ goto OUT;
+ }
+ error = atoi(resp_str);
+ if (!error) {
+ err(" RESPONSE NOK [%d]", error);
+ goto OUT;
}
+ result = TEL_CALL_RESULT_SUCCESS;
}
OUT :
* instead of his own vconfkey. (0 : By network, 1 : Show, 2 : Hide)
*/
vconf_get_int("db/ciss/show_my_number", &cli);
- if(cli == 2){
+ if (cli == 2){
dbg("clir invocation from setting application");
clir = "I";
} else {
}
/*
- * Operation - release all calls/release specific call/release all active call/release all held calls.
+ * Operation - release all calls/release specific call/release all active
+ * call/release all held calls.
*
* Request -
* 1. AT-Command: AT+CHLD=[<n>]
* <n>
- * 0 - (defualt)release all held calls or set User Determined User Busy for a waiting/incoming.
+ * 0 - (defualt)release all held calls or set User Determined User -
+ * Busy for a waiting/incoming.
* call; if both exists then only the waiting call will be rejected.
* 1 - release all active calls and accepts the other (held or waiting).
* 1x - release a specific call (x specific call number as indicated by call id).
dbg("entry");
//(void) _set_dtmf_tone_duration(o, dup);
- tmp_dtmf = tcore_malloc0((strlen(dtmf_str) * 2) + 1); // DTMF digits + comma for each dtmf digit.
+
+ /* DTMF digits + comma for each dtmf digit */
+ tmp_dtmf = tcore_malloc0((strlen(dtmf_str) * 2) + 1);
tcore_check_return_value_assert(tmp_dtmf != NULL, TEL_RETURN_FAILURE);
/* Save initial pointer */
dtmf = tmp_dtmf;
tmp_dtmf++;
}
- // last digit is having COMMA , overwrite it with '\0' .
+ /* last digit is having COMMA , overwrite it with '\0'*/
*(--tmp_dtmf) = '\0';
- // AT+VTS = <d1>,<d2>,<d3>,<d4>,<d5>,<d6>, ..... <d32>
+ /* (AT+VTS = <d1>,<d2>,<d3>,<d4>,<d5>,<d6>, ..... <d32> */
at_cmd = g_strdup_printf("AT+VTS=%s", dtmf);
dbg("at command : %s", at_cmd);
}
/*
- * Operation - call transfer.
+ * Operation - call deflect.
*
* Request -
* 1. AT-Command: AT+CTFR= <number>[,<type>]
* <dcs>
* Decoding format
*/
-static gboolean on_notification_imc_ss_ussd(CoreObject *co, const void *event_data, void *user_data)
+static gboolean on_notification_imc_ss_ussd(CoreObject *co, const void *event_data,
+ void *user_data)
{
gchar *cmd = 0;
gchar *resp_str = NULL;
/* Parse USSD status */
resp_str = g_slist_nth_data(tokens, 0);
if (NULL == resp_str) {
- err("status is missing from %CUSD Notification");
+ err("status missing from +CUSD Notification");
tcore_at_tok_free(tokens);
return TRUE;
} else {
return TRUE;
}
- /* When network terminated the USSD session, no need to send notification to application */
+ /*
+ * When network terminated the USSD session, no need to
+ * send notification to application
+ */
if (ussd_status == TEL_SS_USSD_STATUS_TERMINATED_BY_NETWORK) {
/* destroy USSD session if any */
UssdSession *ussd_session;
len = strlen((gchar *)resp_str);
dbg("USSD String: [%s], len: [%d]", resp_str, len);
} else {
- dbg("Ussd strings is missing from %CUSD Notification");
+ dbg("Ussd string missing from +CUSD Notification");
tcore_at_tok_free(tokens);
return TRUE;
}
warn("No dcs string. Using default dcs value");
}
- ussd_noti.str = tcore_malloc0(len+1);
+ ussd_noti.str = tcore_malloc0(len + 1);
if ((tcore_util_convert_str_to_utf8(ussd_noti.str, &len, dcs,
- (const guchar *)resp_str, len+1)) == FALSE) {
- /* In case of Unhandled dcs type(Reserved), ussd string to ussd_noti.str */
+ (const guchar *)resp_str, len + 1)) == FALSE) {
+ /* In case of unhandled dcs type(Reserved),
+ * copy ussd string to ussd_noti.str
+ */
memcpy(ussd_noti.str, resp_str, len);
}
{
case 7:
*class = TEL_SS_CLASS_ALL_TELE;
- break;
-
+ break;
case 1:
*class = TEL_SS_CLASS_VOICE;
- break;
-
+ break;
case 2:
*class = TEL_SS_CLASS_ALL_DATA_TELE;
- break;
-
+ break;
case 4:
*class = TEL_SS_CLASS_FAX;
- break;
-
+ break;
case 8:
*class = TEL_SS_CLASS_SMS;
- break;
-
+ break;
case 16:
*class = TEL_SS_CLASS_ALL_CS_SYNC;
- break;
-
+ break;
case 32:
*class = TEL_SS_CLASS_ALL_CS_ASYNC;
- break;
-
+ break;
case 64:
*class = TEL_SS_CLASS_ALL_DEDI_PS;
- break;
-
+ break;
case 128:
*class = TEL_SS_CLASS_ALL_DEDI_PAD;
- break;
-
+ break;
default:
err("Invalid modem class: [%d]", classx);
return FALSE;
}
}
-static gboolean __imc_ss_convert_barring_type_to_facility(TelSsBarringType type, gchar **facility)
+static gboolean __imc_ss_convert_barring_type_to_facility(TelSsBarringType type,
+ gchar **facility)
{
switch(type)
{
case TEL_SS_CB_TYPE_BAOC:
*facility = "AO";
- break;
-
+ break;
case TEL_SS_CB_TYPE_BOIC:
*facility = "OI";
- break;
-
+ break;
case TEL_SS_CB_TYPE_BOIC_NOT_HC:
*facility = "OX";
- break;
-
+ break;
case TEL_SS_CB_TYPE_BAIC:
*facility = "AI";
- break;
-
+ break;
case TEL_SS_CB_TYPE_BIC_ROAM:
*facility = "IR";
- break;
-
+ break;
case TEL_SS_CB_TYPE_AB:
*facility = "AB";
- break;
-
+ break;
case TEL_SS_CB_TYPE_AOB:
*facility = "AG";
- break;
-
+ break;
case TEL_SS_CB_TYPE_AIB:
*facility = "AC";
- break;
-
+ break;
case TEL_SS_CB_TYPE_NS:
*facility = "NS";
- break;
-
+ break;
default:
err("Unspported type: [%d]", type);
return FALSE;
return TRUE;
}
-static gboolean __imc_ss_convert_forwarding_mode_to_modem_mode(TelSsForwardMode mode, guint *modex)
+static gboolean __imc_ss_convert_forwarding_mode_to_modem_mode(TelSsForwardMode mode,
+ guint *modex)
{
switch(mode)
{
case TEL_SS_CF_MODE_DISABLE:
*modex = 0;
- break;
-
+ break;
case TEL_SS_CF_MODE_ENABLE:
*modex = 1;
- break;
-
+ break;
case TEL_SS_CF_MODE_REGISTER:
*modex = 3;
- break;
-
+ break;
case TEL_SS_CF_MODE_DEREGISTER:
*modex = 4;
- break;
-
+ break;
default:
err("Unspported mode: [%d]", mode);
return FALSE;
return TRUE;
}
-static gboolean __imc_ss_convert_forwarding_condition_to_modem_reason(TelSsForwardCondition condition, guint *reason)
+static gboolean __imc_ss_convert_forwarding_condition_to_modem_reason(TelSsForwardCondition condition,
+ guint *reason)
{
switch (condition) {
case TEL_SS_CF_COND_CFU:
*reason = 0;
- break;
-
+ break;
case TEL_SS_CF_COND_CFB:
*reason = 1;
- break;
-
+ break;
case TEL_SS_CF_COND_CFNRY:
*reason = 2;
- break;
-
+ break;
case TEL_SS_CF_COND_CFNRC:
*reason = 3;
- break;
-
+ break;
case TEL_SS_CF_COND_ALL:
*reason = 4;
- break;
-
+ break;
case TEL_SS_CF_COND_ALL_CFC:
*reason = 5;
- break;
-
+ break;
default:
dbg("Unsupported condition: [%d]", condition);
return FALSE;
}
}
-static gboolean __imc_ss_convert_cli_info_modem_info(const TelSsCliInfo **cli_info, gint *status,
+static gboolean __imc_ss_convert_cli_info_modem_info(const TelSsCliInfo **cli_info,gint *status,
gchar **cmd_prefix)
{
switch((*cli_info)->type)
{
case TEL_SS_CLI_CLIR:
- if ((*status = __imc_ss_convert_clir_status_modem_status((*cli_info)->status.clir)) != -1)
+ if ((*status = __imc_ss_convert_clir_status_modem_status((*cli_info)->status.clir))
+ != -1) {
*cmd_prefix = "+CLIR";
- else
+ } else {
err("invalid clir status");
- break;
+ }
+ break;
case TEL_SS_CLI_CLIP:
- if ((*status =__imc_ss_convert_cli_status_modem_status((*cli_info)->status.clip) != -1))
+ if ((*status =__imc_ss_convert_cli_status_modem_status((*cli_info)->status.clip)
+ != -1)) {
*cmd_prefix = "+CLIP";
- else
- err("invalid cli status");
- break;
+ } else {
+ err("invalid clip status");
+ }
+ break;
case TEL_SS_CLI_COLP:
- if ((*status =__imc_ss_convert_cli_status_modem_status((*cli_info)->status.colp) != -1))
+ if ((*status =__imc_ss_convert_cli_status_modem_status((*cli_info)->status.colp)
+ != -1)) {
*cmd_prefix = "+COLP";
- else
- err("invalid cli status");
- break;
+ } else {
+ err("invalid colp status");
+ }
+ break;
case TEL_SS_CLI_COLR:
- if ((*status =__imc_ss_convert_cli_status_modem_status((*cli_info)->status.colr) != -1))
+ if ((*status =__imc_ss_convert_cli_status_modem_status((*cli_info)->status.colr)
+ != -1)) {
*cmd_prefix = "+COLR";
- else
- err("invalid cli status");
- break;
-
+ } else {
+ err("invalid colr status");
+ }
+ break;
case TEL_SS_CLI_CNAP:
- if ((*status =__imc_ss_convert_cli_status_modem_status((*cli_info)->status.cnap) != -1))
+ if ((*status =__imc_ss_convert_cli_status_modem_status((*cli_info)->status.cnap)
+ != -1)) {
*cmd_prefix = "+CNAP";
- else
- err("invalid cli status");
+ } else {
+ err("invalid cnap status");
+ }
- break;
+ break;
case TEL_SS_CLI_CDIP:
default:
err("Unsupported CLI type: [%d]", (*cli_info)->type);
return TRUE;
}
-static gboolean __imc_ss_convert_modem_cli_net_status_cli_status(TelSsCliType cli_type, gint net_status,
- gint *status)
+static gboolean __imc_ss_convert_modem_cli_net_status_cli_status(TelSsCliType cli_type,
+ gint net_status, gint *status)
{
if (cli_type == TEL_SS_CLI_CLIR) {
switch (net_status) {
- case 0:
- *status = TEL_CLIR_STATUS_NOT_PROVISIONED;
- break;
- case 1:
- *status = TEL_CLIR_STATUS_PROVISIONED;
- break;
- case 2:
- *status = TEL_CLIR_STATUS_UNKNOWN;
- break;
- case 3:
- *status = TEL_CLIR_STATUS_TEMP_RESTRICTED;
- break;
- case 4:
- *status = TEL_CLIR_STATUS_TEMP_ALLOWED;
- break;
- default:
- err("Invalid clir net status: [%d]", net_status);
- return FALSE;
+ case 0:
+ *status = TEL_CLIR_STATUS_NOT_PROVISIONED;
+ break;
+ case 1:
+ *status = TEL_CLIR_STATUS_PROVISIONED;
+ break;
+ case 2:
+ *status = TEL_CLIR_STATUS_UNKNOWN;
+ break;
+ case 3:
+ *status = TEL_CLIR_STATUS_TEMP_RESTRICTED;
+ break;
+ case 4:
+ *status = TEL_CLIR_STATUS_TEMP_ALLOWED;
+ break;
+ default:
+ err("Invalid clir net status: [%d]", net_status);
+ return FALSE;
}
} else { //CLIP, COLP,COLR,CNAP.
switch (net_status) {
case 0:
*status = TEL_SS_CLI_NOT_PROVISIONED;
- break;
+ break;
case 1:
*status = TEL_SS_CLI_PROVISIONED;
- break;
+ break;
case 2:
*status = TEL_SS_CLI_UNKNOWN;
- break;
+ break;
default:
err("Invalid status: [%d]", net_status);
return FALSE;
switch (dev_status) {
case 0:
*status = TEL_CLIR_STATUS_DEFAULT;
- break;
+ break;
case 1:
*status = TEL_CLIR_STATUS_INVOCATION;
- break;
+ break;
case 2:
*status = TEL_CLIR_STATUS_SUPPRESSION;
- break;
+ break;
default:
err("Invalid dev status: [%d]", dev_status);
return FALSE;
switch(dev_status) {
case 0:
*status = TEL_SS_CLI_DISABLE;
- break;
+ break;
case 1:
*status = TEL_SS_CLI_ENABLE;
- break;
+ break;
default:
err("Invalid dev status: [%d]", dev_status);
return FALSE;
/* SS Responses */
static void on_response_imc_ss_set_barring(TcorePending *p,
- guint data_len, const void *data, void *user_data)
+ guint data_len, const void *data, void *user_data)
{
const TcoreAtResponse *at_resp = data;
CoreObject *co = tcore_pending_ref_core_object(p);
ImcRespCbData *resp_cb_data = user_data;
- TelSsResult result = TEL_SS_RESULT_FAILURE; // TODO: CMEE error mapping is required
+ /* TODO: CMEE error mapping is required */
+ TelSsResult result = TEL_SS_RESULT_FAILURE;
dbg("Enter");
tcore_check_return_assert(co != NULL);
}
static void on_response_imc_ss_get_barring_status(TcorePending *p,
- guint data_len, const void *data, void *user_data)
+ guint data_len, const void *data, void *user_data)
{
const TcoreAtResponse *at_resp = data;
CoreObject *co = tcore_pending_ref_core_object(p);
TelSsBarringGetInfo *req_info;
gint valid_records = 0;
GSList *resp_data = NULL;
-
- TelSsResult result = TEL_SS_RESULT_FAILURE; // TODO: CMEE error mapping is required
+ /* TODO: CMEE error mapping is required */
+ TelSsResult result = TEL_SS_RESULT_FAILURE;
dbg("Enter");
tcore_check_return_assert(co != NULL);
if (barring_resp.record_num > 0) {
barring_resp.records = tcore_malloc0((barring_resp.record_num) *
sizeof(TelSsBarringInfoRecord));
+
for (valid_records = 0; resp_data != NULL; resp_data = resp_data->next) {
const gchar *line;
GSList *tokens = NULL;
classx_str = g_slist_nth_data(tokens, 1);
if (!classx_str) {
- dbg("Class error. Setting to the requested class: [%d]", req_info->class);
+ dbg("Class error. Setting to the requested class: [%d]",
+ req_info->class);
barring_resp.records[valid_records].class = req_info->class;
} else {
if (__imc_ss_convert_modem_class_to_class(atoi(classx_str),
- &(barring_resp.records[valid_records].class)) == FALSE) {
+ &(barring_resp.records[valid_records].class))
+ == FALSE) {
tcore_at_tok_free(tokens);
continue;
}
}
static void on_response_imc_ss_change_barring_password(TcorePending *p,
- guint data_len, const void *data, void *user_data)
+ guint data_len, const void *data, void *user_data)
{
const TcoreAtResponse *at_resp = data;
CoreObject *co = tcore_pending_ref_core_object(p);
ImcRespCbData *resp_cb_data = user_data;
-
- TelSsResult result = TEL_SS_RESULT_FAILURE; // TODO: CMEE error mapping is required
+ /* TODO: CMEE error mapping is required */
+ TelSsResult result = TEL_SS_RESULT_FAILURE;
dbg("Enter");
tcore_check_return_assert(co != NULL);
}
static void on_response_imc_ss_set_forwarding(TcorePending *p,
- guint data_len, const void *data, void *user_data)
+ guint data_len, const void *data, void *user_data)
{
const TcoreAtResponse *at_resp = data;
CoreObject *co = tcore_pending_ref_core_object(p);
ImcRespCbData *resp_cb_data = user_data;
- TelSsResult result = TEL_SS_RESULT_FAILURE; // TODO: CMEE error mapping is required
+ /* TODO: CMEE error mapping is required */
+ TelSsResult result = TEL_SS_RESULT_FAILURE;
dbg("Enter");
tcore_check_return_assert(co != NULL);
}
static void on_response_imc_ss_get_forwarding_status(TcorePending *p,
- guint data_len, const void *data, void *user_data)
+ guint data_len, const void *data, void *user_data)
{
const TcoreAtResponse *at_resp = data;
CoreObject *co = tcore_pending_ref_core_object(p);
TelSsForwardGetInfo *req_info;
gint valid_records = 0;
GSList *resp_data = NULL;
-
- TelSsResult result = TEL_SS_RESULT_FAILURE; // TODO: CMEE error mapping is required
+ /* TODO: CMEE error mapping is required */
+ TelSsResult result = TEL_SS_RESULT_FAILURE;
dbg("Enter");
tcore_check_return_assert(co != NULL);
resp_data = (GSList *) at_resp->lines;
forwarding_resp.record_num= g_slist_length(resp_data);
dbg("Total records: [%d]", forwarding_resp.record_num);
- }
- else {
+ } else {
err("RESPONSE - [NOK]");
}
} else {
line = (const char *) resp_data->data;
tokens = tcore_at_tok_new(line);
+
if (g_slist_length(tokens) > 0) {
gchar *classx_str;
gchar *status = NULL;
classx_str = g_slist_nth_data(tokens, 1);
if (!classx_str) {
- dbg("Class error. Setting to the requested class: [%d]", req_info->class);
- forwarding_resp.records[valid_records].class = req_info->class;
+ dbg("Class error. Setting to the requested class: [%d]",
+ req_info->class);
+ forwarding_resp.records[valid_records].class =
+ req_info->class;
} else {
if (__imc_ss_convert_modem_class_to_class(atoi(classx_str),
- &(forwarding_resp.records[valid_records].class)) == FALSE) {
+ &(forwarding_resp.records[valid_records].class))
+ == FALSE) {
tcore_at_tok_free(tokens);
continue;
}
number = g_slist_nth_data(tokens, 2);
if (number) {
number = tcore_at_tok_extract(number);
- memcpy((forwarding_resp.records[valid_records].number), number, strlen(number));
+ memcpy((forwarding_resp.records[valid_records].number),
+ number, strlen(number));
g_free(number);
}
time_str = g_slist_nth_data(tokens, 6);
if (time_str)
- forwarding_resp.records[valid_records].wait_time = atoi(time_str);
+ forwarding_resp.records[valid_records].wait_time =
+ atoi(time_str);
- forwarding_resp.records[valid_records].condition = req_info->condition;
+ forwarding_resp.records[valid_records].condition =
+ req_info->condition;
result = TEL_SS_RESULT_SUCCESS;
valid_records++;
}
static void on_response_imc_ss_set_waiting(TcorePending *p,
- guint data_len, const void *data, void *user_data)
+ guint data_len, const void *data, void *user_data)
{
const TcoreAtResponse *at_resp = data;
CoreObject *co = tcore_pending_ref_core_object(p);
ImcRespCbData *resp_cb_data = user_data;
-
- TelSsResult result = TEL_SS_RESULT_FAILURE; // TODO: CMEE error mapping is required
+ /* TODO: CMEE error mapping is required */
+ TelSsResult result = TEL_SS_RESULT_FAILURE;
dbg("Enter");
tcore_check_return_assert(co != NULL);
}
static void on_response_imc_ss_get_waiting_status(TcorePending *p,
- guint data_len, const void *data, void *user_data)
+ guint data_len, const void *data, void *user_data)
{
const TcoreAtResponse *at_resp = data;
CoreObject *co = tcore_pending_ref_core_object(p);
TelSsClass *class;
gint valid_records = 0;
GSList *resp_data = NULL;
-
- TelSsResult result = TEL_SS_RESULT_FAILURE; // TODO: CMEE error mapping is required
+ /* TODO: CMEE error mapping is required */
+ TelSsResult result = TEL_SS_RESULT_FAILURE;
dbg("Enter");
tcore_check_return_assert(co != NULL);
}
if (waiting_resp.record_num > 0) {
- waiting_resp.records = tcore_malloc0((waiting_resp.record_num) * sizeof(TelSsWaitingInfo));
+ waiting_resp.records = tcore_malloc0((waiting_resp.record_num) *
+ sizeof(TelSsWaitingInfo));
+
for (valid_records = 0; resp_data != NULL; resp_data = resp_data->next) {
const gchar *line;
GSList *tokens = NULL;
line = (const char *) resp_data->data;
tokens = tcore_at_tok_new(line);
+
if (g_slist_length(tokens) > 0) {
gchar *classx_str;
gchar *status = NULL;
classx_str = g_slist_nth_data(tokens, 1);
if (!classx_str) {
- dbg("Class error. Setting to the requested class: [%d]", *class);
+ dbg("Class error. Setting to the requested class: [%d]",
+ *class);
waiting_resp.records[valid_records].class = *class;
} else {
- if (__imc_ss_convert_modem_class_to_class(atoi(classx_str), &(waiting_resp.records[valid_records].class)) == FALSE) {
+ if (__imc_ss_convert_modem_class_to_class(atoi(classx_str),
+ &(waiting_resp.records[valid_records].class))
+ == FALSE) {
tcore_at_tok_free(tokens);
continue;
}
const TcoreAtResponse *at_resp = data;
CoreObject *co = tcore_pending_ref_core_object(p);
ImcRespCbData *resp_cb_data = user_data;
-
- TelSsResult result = TEL_SS_RESULT_FAILURE; // TODO: CMEE error mapping is required
+ /* TODO: CMEE error mapping is required */
+ TelSsResult result = TEL_SS_RESULT_FAILURE;
dbg("Enter");
tcore_check_return_assert(co != NULL);
}
static void on_response_imc_ss_get_cli_status(TcorePending *p,
- guint data_len, const void *data, void *user_data)
+ guint data_len, const void *data, void *user_data)
{
const TcoreAtResponse *at_resp = data;
CoreObject *co = tcore_pending_ref_core_object(p);
TelSsCliResp cli_resp = {0,};
TelSsCliType *cli_type;
GSList *tokens = NULL;
-
- TelSsResult result = TEL_SS_RESULT_FAILURE; // TODO: CMEE error mapping is required
+ /* TODO: CMEE error mapping is required */
+ TelSsResult result = TEL_SS_RESULT_FAILURE;
dbg("Enter");
tcore_check_return_assert(co != NULL);
cli_type = (TelSsCliType *)IMC_GET_DATA_FROM_RESP_CB_DATA(resp_cb_data);
- if (*cli_type == TEL_SS_CLI_CDIP) {
- err("Unsupported CLI type: [%d]", *cli_type);
- result = TEL_SS_RESULT_INVALID_PARAMETER;
- goto END;
- }
-
if (at_resp && at_resp->success) {
const gchar *line;
gchar *status = NULL;
goto END;
}
- dbg("RESPONSE OK");
status = g_slist_nth_data(tokens, 0);
if (!status) {
err("dev_status is missing");
goto END;
}
- if (!__imc_ss_convert_modem_cli_dev_status_cli_status(*cli_type, atoi(status), &dev_status))
+ if (!__imc_ss_convert_modem_cli_dev_status_cli_status(*cli_type,
+ atoi(status), &dev_status))
goto END;
status = g_slist_nth_data(tokens, 1);
err("net_status is missing");
goto END;
}
- if (!__imc_ss_convert_modem_cli_net_status_cli_status(*cli_type, atoi(status), &net_status))
+ if (!__imc_ss_convert_modem_cli_net_status_cli_status(*cli_type,
+ atoi(status), &net_status))
goto END;
switch(*cli_type){
result = TEL_SS_RESULT_INVALID_PARAMETER;
goto END;
}
-
+ dbg("RESPONSE OK");
cli_resp.type = *cli_type;
result = TEL_SS_RESULT_SUCCESS;
} else{
}
static void on_response_imc_ss_send_ussd_request(TcorePending *p,
- guint data_len, const void *data, void *user_data)
+ guint data_len, const void *data, void *user_data)
{
const TcoreAtResponse *at_resp = data;
CoreObject *co = tcore_pending_ref_core_object(p);
ImcRespCbData *resp_cb_data = user_data;
TelSsUssdResp ussd_resp = {0,};
UssdSession *ussd_s = NULL;
-
- TelSsResult result = TEL_SS_RESULT_FAILURE; // TODO: CMEE error mapping is required
+ /* TODO: CMEE error mapping is required */
+ TelSsResult result = TEL_SS_RESULT_FAILURE;
dbg("Enter");
tcore_check_return_assert(co != NULL);
* +CME ERROR: <error>
*/
static TelReturn imc_ss_set_barring(CoreObject *co, const TelSsBarringInfo *barring_info,
- TcoreObjectResponseCallback cb, void *cb_data)
+ TcoreObjectResponseCallback cb, void *cb_data)
{
gchar *at_cmd = NULL;
guint mode;
else
mode = 0;
- if (__imc_ss_convert_barring_type_to_facility(barring_info->type, &facility) == FALSE) {
+ if (__imc_ss_convert_barring_type_to_facility(barring_info->type,
+ &facility) == FALSE) {
err("Invalid arguments");
return ret;
}
dbg("facility: [%s], classx:[%d], mode: [%d]", facility, classx, mode);
/* AT-Command */
- at_cmd = g_strdup_printf("AT+CLCK=\"%s\",%d,\"%s\",%d", facility, mode, barring_info->pwd, classx);
+ at_cmd = g_strdup_printf("AT+CLCK=\"%s\",%d,\"%s\",%d", facility, mode,
+ barring_info->pwd, classx);
resp_cb_data = imc_create_resp_cb_data(cb, cb_data, NULL, 0);
IMC_CHECK_REQUEST_RET(ret, resp_cb_data, "Set Barring");
g_free(at_cmd);
-
return ret;
}
-static TelReturn imc_ss_get_barring_status(CoreObject *co, const TelSsBarringGetInfo *get_barring_info,
- TcoreObjectResponseCallback cb, void *cb_data)
+static TelReturn imc_ss_get_barring_status(CoreObject *co,
+ const TelSsBarringGetInfo *get_barring_info,
+ TcoreObjectResponseCallback cb, void *cb_data)
{
gchar *at_cmd = NULL;
guint mode;
mode = 2; /* query status - mode is fixed to 2 */
- if (__imc_ss_convert_barring_type_to_facility(get_barring_info->type, &facility) == FALSE) {
+ if (__imc_ss_convert_barring_type_to_facility(get_barring_info->type,
+ &facility) == FALSE) {
err("Invalid arguments");
return ret;
}
/* AT-Command */
at_cmd = g_strdup_printf("AT+CLCK=\"%s\",%d,,%d", facility, mode, classx);
- resp_cb_data = imc_create_resp_cb_data(cb, cb_data, (void *)get_barring_info, sizeof(TelSsBarringGetInfo));
+ resp_cb_data = imc_create_resp_cb_data(cb, cb_data, (void *)get_barring_info,
+ sizeof(TelSsBarringGetInfo));
/* Send Request to modem */
ret = tcore_at_prepare_and_send_request(co,
* Failure:
* +CME ERROR: <error>
*/
-static TelReturn imc_ss_change_barring_password(CoreObject *co, const TelSsBarringPwdInfo *barring_pwd_info,
- TcoreObjectResponseCallback cb, void *cb_data)
+static TelReturn imc_ss_change_barring_password(CoreObject *co,
+ const TelSsBarringPwdInfo *barring_pwd_info,
+ TcoreObjectResponseCallback cb, void *cb_data)
{
gchar *at_cmd = NULL;
ImcRespCbData *resp_cb_data = NULL;
TelReturn ret = TEL_RETURN_INVALID_PARAMETER;
- if (barring_pwd_info->old_pwd== NULL || barring_pwd_info->new_pwd == NULL) {
+ if (barring_pwd_info->old_pwd == NULL || barring_pwd_info->new_pwd == NULL) {
err("Invalid data");
return ret;
}
- dbg("Old password: [%s], New password: [%s]", barring_pwd_info->old_pwd, barring_pwd_info->new_pwd);
+ dbg("Old password: [%s], New password: [%s]", barring_pwd_info->old_pwd,
+ barring_pwd_info->new_pwd);
- at_cmd = g_strdup_printf("AT+CPWD=\"%s\",\"%s\",\"%s\"", "AB", barring_pwd_info->old_pwd, barring_pwd_info->new_pwd);
+ at_cmd = g_strdup_printf("AT+CPWD=\"%s\",\"%s\",\"%s\"", "AB",
+ barring_pwd_info->old_pwd, barring_pwd_info->new_pwd);
resp_cb_data = imc_create_resp_cb_data(cb, cb_data, NULL, 0);
* Operation - set_forwarding/get_forwarding_status
*
* Request -
- * AT-Command: AT+CCFC=<reason>,<mode>[,<number>[,<type>[,<class>[,<subaddr>[,<satype>[,<time>]]]]]]
+ * AT-Command: AT+CCFC=<reason>,<mode>[,<number>[,<type>
+ * [,<class>[,<subaddr>[,<satype>[,<time>]]]]]]
* where,
* <reason>
* Forwarding Condition. Ref #TelSsForwardCondition
* +CME ERROR: <error>
*/
static TelReturn imc_ss_set_forwarding(CoreObject *co, const TelSsForwardInfo *forwarding_info,
- TcoreObjectResponseCallback cb, void *cb_data)
+ TcoreObjectResponseCallback cb, void *cb_data)
{
gchar *at_cmd = NULL;
gchar *tmp_cmd = NULL;
classx = __imc_ss_convert_class_to_imc_class(forwarding_info->class);
- if (__imc_ss_convert_forwarding_mode_to_modem_mode(forwarding_info->mode, &mode) == FALSE) {
+ if (__imc_ss_convert_forwarding_mode_to_modem_mode(forwarding_info->mode, &mode)
+ == FALSE) {
err("Invalid arguments");
return ret;
}
- if (__imc_ss_convert_forwarding_condition_to_modem_reason(forwarding_info->condition, &reason) == FALSE) {
+ if (__imc_ss_convert_forwarding_condition_to_modem_reason(forwarding_info->condition,
+ &reason) == FALSE) {
err("Invalid arguments");
return ret;
}
dbg("classx: [%d], reason:[%d], mode: [%d]", classx, reason, mode);
if (mode == 3) /* TEL_SS_CF_MODE_REGISTER */
- tmp_cmd = g_strdup_printf("AT+CCFC=%d,%d,\"%s\",%d,%d", reason, mode, forwarding_info->number, num_type, classx);
+ tmp_cmd = g_strdup_printf("AT+CCFC=%d,%d,\"%s\",%d,%d", reason, mode,
+ forwarding_info->number, num_type, classx);
else
tmp_cmd = g_strdup_printf("AT+CCFC=%d,%d,,,%d", reason, mode, classx);
- if (reason == 2) /* TEL_SS_CF_COND_CFNRY */
+ if (reason == 2) /* TEL_SS_CF_COND_CFNRY */
at_cmd = g_strdup_printf("%s,,,%d", tmp_cmd, forwarding_info->wait_time);
else
at_cmd = g_strdup_printf("%s", tmp_cmd);
}
static TelReturn imc_ss_get_forwarding_status(CoreObject *co, const TelSsForwardGetInfo *get_forwarding_info,
- TcoreObjectResponseCallback cb, void *cb_data)
+ TcoreObjectResponseCallback cb, void *cb_data)
{
gchar *at_cmd = NULL;
guint classx;
classx = __imc_ss_convert_class_to_imc_class(get_forwarding_info->class);
- if (__imc_ss_convert_forwarding_condition_to_modem_reason(get_forwarding_info->condition, &reason) == FALSE) {
+ if (__imc_ss_convert_forwarding_condition_to_modem_reason(get_forwarding_info->condition,
+ &reason) == FALSE) {
err("Invalid arguments");
return ret;
}
at_cmd = g_strdup_printf("AT+CCFC=%d,%d,,,%d", reason, mode, classx);
- resp_cb_data = imc_create_resp_cb_data(cb, cb_data, (void *)get_forwarding_info, sizeof(TelSsForwardGetInfo));
+ resp_cb_data = imc_create_resp_cb_data(cb, cb_data, (void *)get_forwarding_info,
+ sizeof(TelSsForwardGetInfo));
/* Send Request to modem */
ret = tcore_at_prepare_and_send_request(co,
* +CME ERROR: <error>
*/
static TelReturn imc_ss_set_waiting(CoreObject *co, const TelSsWaitingInfo *waiting_info,
- TcoreObjectResponseCallback cb, void *cb_data)
+ TcoreObjectResponseCallback cb, void *cb_data)
{
gchar *at_cmd = NULL;
guint classx;
}
static TelReturn imc_ss_get_waiting_status(CoreObject *co, TelSsClass ss_class,
- TcoreObjectResponseCallback cb, void *cb_data)
+ TcoreObjectResponseCallback cb, void *cb_data)
{
gchar *at_cmd = NULL;
guint classx;
* +CME ERROR: <error>
*/
static TelReturn imc_ss_set_cli(CoreObject *co, const TelSsCliInfo *cli_info,
- TcoreObjectResponseCallback cb, void *cb_data)
+ TcoreObjectResponseCallback cb, void *cb_data)
{
gchar *at_cmd = NULL;
gchar *cmd_prefix = NULL;
}
static TelReturn imc_ss_get_cli_status(CoreObject *co, TelSsCliType cli_type,
- TcoreObjectResponseCallback cb, void *cb_data)
+ TcoreObjectResponseCallback cb, void *cb_data)
{
gchar *at_cmd = NULL;
gchar *cmd_prefix = NULL;
switch (cli_type) {
case TEL_SS_CLI_CLIR:
cmd_prefix = "+CLIR";
- break;
-
+ break;
case TEL_SS_CLI_CLIP:
cmd_prefix = "+CLIP";
- break;
-
+ break;
case TEL_SS_CLI_COLP:
cmd_prefix = "+COLP";
- break;
-
+ break;
case TEL_SS_CLI_COLR:
cmd_prefix = "+COLR";
- break;
-
+ break;
case TEL_SS_CLI_CNAP:
cmd_prefix = "+CNAP";
- break;
-
+ break;
case TEL_SS_CLI_CDIP:
default:
dbg("Unsupported CLI type: [%d]", cli_type);
* +CME ERROR: <error>
*/
static TelReturn imc_ss_send_ussd_request(CoreObject *co, const TelSsUssdInfo *ussd_request,
- TcoreObjectResponseCallback cb, void *cb_data)
+ TcoreObjectResponseCallback cb, void *cb_data)
{
gchar *at_cmd = NULL;
UssdSession *ussd_s = NULL;
ussd_s = tcore_ss_ussd_get_session(co);
if (!ussd_s) {
dbg("USSD session does not exist");
- tcore_ss_ussd_create_session(co, ussd_request->type, (void *)ussd_request->str, strlen((char *)ussd_request->str));
+ tcore_ss_ussd_create_session(co, ussd_request->type, (void *)ussd_request->str,
+ strlen((char *)ussd_request->str));
} else {
if (ussd_request->type == TEL_SS_USSD_TYPE_USER_INIT) {
err("Ussd session is already exist");