memset(¬i, '\0', sizeof(TelCallRecordInfoNoti_t));
g_variant_get(param, "(ii@v)", ¬i.info.id, ¬i.info.type, &data);
- if(noti.info.type == TAPI_CALL_REC_INFO_TYPE_NAME) {
+ if (noti.info.type == TAPI_CALL_REC_INFO_TYPE_NAME) {
inner_si = g_variant_get_variant(data);
strncpy(noti.info.data.name, g_variant_get_string(inner_si, NULL), TAPI_CALLING_NAME_SIZE_MAX);
inner_si = g_variant_get_variant(data);
g_variant_iter_init(&iter, inner_si);
- while(g_variant_iter_next(&iter, "{si}", &key, &value)) {
+ while (g_variant_iter_next(&iter, "{si}", &key, &value)) {
if (!g_strcmp0(key, "polarity_included")) {
noti.info.data.line_ctrl_info.polarity_included = (unsigned char)(value);
- }else if (!g_strcmp0(key, "toggle_mode")) {
+ } else if (!g_strcmp0(key, "toggle_mode")) {
noti.info.data.line_ctrl_info.toggle_mode = (unsigned char)(value);
- }else if (!g_strcmp0(key, "reverse_polarity")) {
+ } else if (!g_strcmp0(key, "reverse_polarity")) {
noti.info.data.line_ctrl_info.reverse_polarity = (unsigned char)(value);
- }else if (!g_strcmp0(key, "power_denial_time")) {
+ } else if (!g_strcmp0(key, "power_denial_time")) {
noti.info.data.line_ctrl_info.power_denial_time = (unsigned char)(value);
}
}
msg("[ check ] %s (%s): polarity_included(%d), toggle_mode(%d), reverse_polarity(%d), power_denial_time(%d)", "CallInfoRec",
handle->cp_name, noti.info.data.line_ctrl_info.polarity_included, noti.info.data.line_ctrl_info.toggle_mode,
- noti.info.data.line_ctrl_info.reverse_polarity, noti.info.data.line_ctrl_info.power_denial_time );
+ noti.info.data.line_ctrl_info.reverse_polarity, noti.info.data.line_ctrl_info.power_denial_time);
}
TAPI_INVOKE_NOTI_CALLBACK(¬i);
g_variant_get(param, "(i)", &data.preferred_subs);
dbg("[ check ] %s : Voice preferred_subs(%d)", "Call Preferred Voice Subscription noti", data.preferred_subs);
TAPI_INVOKE_NOTI_CALLBACK(&data);
- } else if(!g_strcmp0(sig, "Modifiable")){
+ } else if (!g_strcmp0(sig, "Modifiable")) {
TelCallInfoModifiableNoti_t data;
g_variant_get(param, "(ib)", &data.call_handle, &data.modifiable);
dbg("[ check ] %s : call_handle (%d), modifiable (%d)", "Call modification availablity noti", data.call_handle, data.modifiable);
}
}
-static void _process_sat_event(const gchar *sig, GVariant *param,
+static void __process_sat_event_setup_menu(const gchar *sig, GVariant *param,
TapiHandle *handle, char *noti_id, struct tapi_evt_cb *evt_cb_data)
{
- TAPI_RETURN_IF_FAIL(evt_cb_data);
-
- if (!g_strcmp0(sig, "SetupMenu")) {
- TelSatSetupMenuInfo_t setup_menu;
-
- gchar *title = NULL;
- gint command_id, item_cnt;
- gboolean b_present, b_helpinfo, b_updated;
- GVariant *items = NULL;
- int sat_index = 0;
- GVariant *unbox;
- GVariantIter *iter;
-
- memset(&setup_menu, 0, sizeof(TelSatSetupMenuInfo_t));
-
- g_variant_get(param, "(ibs@vibb)", &command_id, &b_present, &title, &items, &item_cnt,
- &b_helpinfo, &b_updated);
-
- setup_menu.commandId = command_id;
- setup_menu.bIsMainMenuPresent = (b_present ? 1 : 0);
- memcpy(setup_menu.satMainTitle, title, TAPI_SAT_DEF_TITLE_LEN_MAX+1);
- g_free(title);
- setup_menu.satMainMenuNum = item_cnt;
- if (items && item_cnt > 0) {
- gchar *item_str;
- gint item_id;
- unbox = g_variant_get_variant(items);
- dbg("items(%p) items type_format(%s)", items, g_variant_get_type_string(unbox));
-
- g_variant_get(unbox, "a(si)", &iter);
- while (g_variant_iter_loop(iter, "(si)", &item_str, &item_id)) {
- setup_menu.satMainMenuItem[sat_index].itemId = item_id;
- memcpy(setup_menu.satMainMenuItem[sat_index].itemString,
- item_str, TAPI_SAT_DEF_ITEM_STR_LEN_MAX + 6);
- dbg("item index(%d) id(%d) str(%s)", sat_index,
- setup_menu.satMainMenuItem[sat_index].itemId,
- setup_menu.satMainMenuItem[sat_index].itemString);
- sat_index++;
- }
- g_variant_iter_free(iter);
+ TelSatSetupMenuInfo_t setup_menu;
+
+ gchar *title = NULL;
+ gint command_id, item_cnt;
+ gboolean b_present, b_helpinfo, b_updated;
+ GVariant *items = NULL;
+ int sat_index = 0;
+ GVariant *unbox;
+ GVariantIter *iter;
+
+ memset(&setup_menu, 0, sizeof(TelSatSetupMenuInfo_t));
+
+ g_variant_get(param, "(ibs@vibb)", &command_id, &b_present, &title, &items, &item_cnt,
+ &b_helpinfo, &b_updated);
+
+ setup_menu.commandId = command_id;
+ setup_menu.bIsMainMenuPresent = (b_present ? 1 : 0);
+ memcpy(setup_menu.satMainTitle, title, TAPI_SAT_DEF_TITLE_LEN_MAX+1);
+ g_free(title);
+ setup_menu.satMainMenuNum = item_cnt;
+ if (items && item_cnt > 0) {
+ gchar *item_str;
+ gint item_id;
+ unbox = g_variant_get_variant(items);
+ dbg("items(%p) items type_format(%s)", items, g_variant_get_type_string(unbox));
+
+ g_variant_get(unbox, "a(si)", &iter);
+ while (g_variant_iter_loop(iter, "(si)", &item_str, &item_id)) {
+ setup_menu.satMainMenuItem[sat_index].itemId = item_id;
+ memcpy(setup_menu.satMainMenuItem[sat_index].itemString,
+ item_str, TAPI_SAT_DEF_ITEM_STR_LEN_MAX + 6);
+ dbg("item index(%d) id(%d) str(%s)", sat_index,
+ setup_menu.satMainMenuItem[sat_index].itemId,
+ setup_menu.satMainMenuItem[sat_index].itemString);
+ sat_index++;
}
- setup_menu.bIsSatMainMenuHelpInfo = (b_helpinfo ? 1 : 0);
- setup_menu.bIsUpdatedSatMainMenu = (b_updated ? 1 : 0);
+ g_variant_iter_free(iter);
+ }
+ setup_menu.bIsSatMainMenuHelpInfo = (b_helpinfo ? 1 : 0);
+ setup_menu.bIsUpdatedSatMainMenu = (b_updated ? 1 : 0);
- dbg("command id (%d)", setup_menu.commandId);
- dbg("menu present (%d)", setup_menu.bIsMainMenuPresent);
- dbg("menu title (%s)", setup_menu.satMainTitle);
- dbg("item cnt (%d)", setup_menu.satMainMenuNum);
- dbg("menu help info (%d)", setup_menu.bIsSatMainMenuHelpInfo);
- dbg("menu updated (%d)", setup_menu.bIsUpdatedSatMainMenu);
+ dbg("command id (%d)", setup_menu.commandId);
+ dbg("menu present (%d)", setup_menu.bIsMainMenuPresent);
+ dbg("menu title (%s)", setup_menu.satMainTitle);
+ dbg("item cnt (%d)", setup_menu.satMainMenuNum);
+ dbg("menu help info (%d)", setup_menu.bIsSatMainMenuHelpInfo);
+ dbg("menu updated (%d)", setup_menu.bIsUpdatedSatMainMenu);
- dbg("icon exist(%d), icon_quali: (%d), icon_id: (%d), width: (%d), height: (%d), ics: (%d), icon_data_len: (%d)", setup_menu.iconId.bIsPresent, setup_menu.iconId.iconQualifier, setup_menu.iconId.iconIdentifier, setup_menu.iconId.iconInfo.width,
- setup_menu.iconId.iconInfo.height, setup_menu.iconId.iconInfo.ics, setup_menu.iconId.iconInfo.iconDataLen);
+ dbg("icon exist(%d), icon_quali: (%d), icon_id: (%d), width: (%d), height: (%d), ics: (%d), icon_data_len: (%d)", setup_menu.iconId.bIsPresent, setup_menu.iconId.iconQualifier, setup_menu.iconId.iconIdentifier, setup_menu.iconId.iconInfo.width,
+ setup_menu.iconId.iconInfo.height, setup_menu.iconId.iconInfo.ics, setup_menu.iconId.iconInfo.iconDataLen);
- TAPI_INVOKE_NOTI_CALLBACK(&setup_menu);
- } else if (!g_strcmp0(sig, "DisplayText")) {
- TelSatDisplayTextInd_t display_text;
- gchar *text;
- gint command_id, text_len, duration;
- gboolean high_priority, user_rsp_required, immediately_rsp;
+ TAPI_INVOKE_NOTI_CALLBACK(&setup_menu);
+
+}
- memset(&display_text, 0, sizeof(TelSatDisplayTextInd_t));
+static void __process_sat_event_display_text(const gchar *sig, GVariant *param,
+ TapiHandle *handle, char *noti_id, struct tapi_evt_cb *evt_cb_data)
+{
+ TelSatDisplayTextInd_t display_text;
+ gchar *text;
+ gint command_id, text_len, duration;
+ gboolean high_priority, user_rsp_required, immediately_rsp;
+
+ memset(&display_text, 0, sizeof(TelSatDisplayTextInd_t));
+
+ g_variant_get(param, "(isiibbb)", &command_id, &text, &text_len, &duration,
+ &high_priority, &user_rsp_required, &immediately_rsp);
+
+ display_text.commandId = command_id;
+ memcpy(display_text.text.string, text, TAPI_SAT_DEF_TEXT_STRING_LEN_MAX+1);
+ g_free(text);
+ display_text.text.stringLen = text_len;
+ display_text.duration = duration;
+ display_text.bIsPriorityHigh = (high_priority ? 1 : 0);
+ display_text.bIsUserRespRequired = (user_rsp_required ? 1 : 0);
+ display_text.b_immediately_resp = (immediately_rsp ? 1 : 0);
+
+ dbg("command id (%d)", display_text.commandId);
+ dbg("display text (%s)", display_text.text.string);
+ dbg("string len(%d)", display_text.text.stringLen);
+ dbg("duration (%d)", display_text.duration);
+ dbg("high priority (%d)", display_text.bIsPriorityHigh);
+ dbg("user response required(%d)", display_text.bIsUserRespRequired);
+ dbg("immediately response (%d)", display_text.b_immediately_resp);
+
+ TAPI_INVOKE_NOTI_CALLBACK(&display_text);
- g_variant_get(param, "(isiibbb)", &command_id, &text, &text_len, &duration,
- &high_priority, &user_rsp_required, &immediately_rsp);
+}
- display_text.commandId = command_id;
- memcpy(display_text.text.string, text, TAPI_SAT_DEF_TEXT_STRING_LEN_MAX+1);
- g_free(text);
- display_text.text.stringLen = text_len;
- display_text.duration = duration;
- display_text.bIsPriorityHigh = (high_priority ? 1 : 0);
- display_text.bIsUserRespRequired = (user_rsp_required ? 1 : 0);
- display_text.b_immediately_resp = (immediately_rsp ? 1 : 0);
-
- dbg("command id (%d)", display_text.commandId);
- dbg("display text (%s)", display_text.text.string);
- dbg("string len(%d)", display_text.text.stringLen);
- dbg("duration (%d)", display_text.duration);
- dbg("high priority (%d)", display_text.bIsPriorityHigh);
- dbg("user response required(%d)", display_text.bIsUserRespRequired);
- dbg("immediately response (%d)", display_text.b_immediately_resp);
-
- TAPI_INVOKE_NOTI_CALLBACK(&display_text);
- } else if (!g_strcmp0(sig, "SelectItem")) {
- TelSatSelectItemInd_t select_item;
-
- gboolean help_info ;
- gchar *selected_text;
- gint command_id, default_item_id, menu_cnt, text_len = 0;
- GVariant *menu_items;
- int select_item_index = 0;
- GVariant *unbox;
- GVariantIter *iter;
-
- memset(&select_item, 0, sizeof(TelSatSelectItemInd_t));
-
- g_variant_get(param, "(ibsiii@v)", &command_id, &help_info, &selected_text,
- &text_len, &default_item_id, &menu_cnt, &menu_items);
-
- select_item.commandId = command_id;
- select_item.bIsHelpInfoAvailable = (help_info ? 1 : 0);
- memcpy(select_item.text.string, selected_text, TAPI_SAT_DEF_TITLE_LEN_MAX+1);
- g_free(selected_text);
- select_item.text.stringLen = text_len;
- select_item.defaultItemIndex = default_item_id;
- select_item.menuItemCount = menu_cnt;
- if (menu_items && menu_cnt > 0) {
- gchar *item_str;
- gint item_id, item_len;
- unbox = g_variant_get_variant(menu_items);
- dbg("items(%p) items type_format(%s)", menu_items, g_variant_get_type_string(unbox));
-
- g_variant_get(unbox, "a(iis)", &iter);
- while (g_variant_iter_loop(iter, "(iis)", &item_id, &item_len, &item_str)) {
- select_item.menuItem[select_item_index].itemId = item_id;
- select_item.menuItem[select_item_index].textLen = item_len;
- memcpy(select_item.menuItem[select_item_index].text, item_str, TAPI_SAT_ITEM_TEXT_LEN_MAX + 1);
- dbg("item index(%d) id(%d) len(%d) str(%s)", select_item_index,
- select_item.menuItem[select_item_index].itemId, select_item.menuItem[select_item_index].textLen, select_item.menuItem[select_item_index].text);
- select_item_index++;
- }
- g_variant_iter_free(iter);
+static void __process_sat_event_select_item(const gchar *sig, GVariant *param,
+ TapiHandle *handle, char *noti_id, struct tapi_evt_cb *evt_cb_data)
+{
+ TelSatSelectItemInd_t select_item;
+
+ gboolean help_info ;
+ gchar *selected_text;
+ gint command_id, default_item_id, menu_cnt, text_len = 0;
+ GVariant *menu_items;
+ int select_item_index = 0;
+ GVariant *unbox;
+ GVariantIter *iter;
+
+ memset(&select_item, 0, sizeof(TelSatSelectItemInd_t));
+
+ g_variant_get(param, "(ibsiii@v)", &command_id, &help_info, &selected_text,
+ &text_len, &default_item_id, &menu_cnt, &menu_items);
+
+ select_item.commandId = command_id;
+ select_item.bIsHelpInfoAvailable = (help_info ? 1 : 0);
+ memcpy(select_item.text.string, selected_text, TAPI_SAT_DEF_TITLE_LEN_MAX+1);
+ g_free(selected_text);
+ select_item.text.stringLen = text_len;
+ select_item.defaultItemIndex = default_item_id;
+ select_item.menuItemCount = menu_cnt;
+ if (menu_items && menu_cnt > 0) {
+ gchar *item_str;
+ gint item_id, item_len;
+ unbox = g_variant_get_variant(menu_items);
+ dbg("items(%p) items type_format(%s)", menu_items, g_variant_get_type_string(unbox));
+
+ g_variant_get(unbox, "a(iis)", &iter);
+ while (g_variant_iter_loop(iter, "(iis)", &item_id, &item_len, &item_str)) {
+ select_item.menuItem[select_item_index].itemId = item_id;
+ select_item.menuItem[select_item_index].textLen = item_len;
+ memcpy(select_item.menuItem[select_item_index].text, item_str, TAPI_SAT_ITEM_TEXT_LEN_MAX + 1);
+ dbg("item index(%d) id(%d) len(%d) str(%s)", select_item_index,
+ select_item.menuItem[select_item_index].itemId, select_item.menuItem[select_item_index].textLen, select_item.menuItem[select_item_index].text);
+ select_item_index++;
}
+ g_variant_iter_free(iter);
+ }
- dbg("command id (%d)", select_item.commandId);
- dbg("help info(%d)", select_item.bIsHelpInfoAvailable);
- dbg("selected item string(%s)", select_item.text.string);
- dbg("string len(%d)", select_item.text.stringLen);
- dbg("default item index(%d)", select_item.defaultItemIndex);
- dbg("item count(%d)", select_item.menuItemCount);
+ dbg("command id (%d)", select_item.commandId);
+ dbg("help info(%d)", select_item.bIsHelpInfoAvailable);
+ dbg("selected item string(%s)", select_item.text.string);
+ dbg("string len(%d)", select_item.text.stringLen);
+ dbg("default item index(%d)", select_item.defaultItemIndex);
+ dbg("item count(%d)", select_item.menuItemCount);
- TAPI_INVOKE_NOTI_CALLBACK(&select_item);
- } else if (!g_strcmp0(sig, "GetInkey")) {
- TelSatGetInkeyInd_t get_inkey;
+ TAPI_INVOKE_NOTI_CALLBACK(&select_item);
+}
- gint command_id, key_type, input_character_mode;
- gint text_len, duration;
- gboolean b_numeric, b_help_info;
- gchar *text = NULL;
+static void __process_sat_event_get_inkey(const gchar *sig, GVariant *param,
+ TapiHandle *handle, char *noti_id, struct tapi_evt_cb *evt_cb_data)
+{
+ TelSatGetInkeyInd_t get_inkey;
+
+ gint command_id, key_type, input_character_mode;
+ gint text_len, duration;
+ gboolean b_numeric, b_help_info;
+ gchar *text = NULL;
+
+ memset(&get_inkey, 0, sizeof(TelSatGetInkeyInd_t));
+
+ g_variant_get(param, "(iiibbsii)", &command_id, &key_type, &input_character_mode,
+ &b_numeric, &b_help_info, &text, &text_len, &duration);
+
+ get_inkey.commandId = command_id;
+ get_inkey.keyType = key_type;
+ get_inkey.inputCharMode = input_character_mode;
+ get_inkey.bIsNumeric = (b_numeric ? 1 : 0);
+ get_inkey.bIsHelpInfoAvailable = (b_help_info ? 1 : 0);
+ memcpy(get_inkey.text.string, text, TAPI_SAT_DEF_TEXT_STRING_LEN_MAX+1);
+ g_free(text);
+ get_inkey.text.stringLen = text_len;
+ get_inkey.duration = duration;
+
+ dbg("command id(%d)", get_inkey.commandId);
+ dbg("key type(%d)", get_inkey.keyType);
+ dbg("input character mode(%d)", get_inkey.inputCharMode);
+ dbg("numeric(%d)", get_inkey.bIsNumeric);
+ dbg("help info available(%d)", get_inkey.bIsHelpInfoAvailable);
+ dbg("text (%s)", get_inkey.text.string);
+ dbg("text length (%d)", get_inkey.text.stringLen);
+ dbg("duration (%d)", get_inkey.duration);
+
+ TAPI_INVOKE_NOTI_CALLBACK(&get_inkey);
- memset(&get_inkey, 0, sizeof(TelSatGetInkeyInd_t));
+}
- g_variant_get(param, "(iiibbsii)", &command_id, &key_type, &input_character_mode,
- &b_numeric, &b_help_info, &text, &text_len, &duration);
+static void __process_sat_event_get_input(const gchar *sig, GVariant *param,
+ TapiHandle *handle, char *noti_id, struct tapi_evt_cb *evt_cb_data)
+{
+ TelSatGetInputInd_t get_input;
+
+ gint command_id, input_character_mode;
+ gint text_len, def_text_len, rsp_len_min, rsp_len_max;
+ gboolean b_numeric, b_help_info, b_echo_input;
+ gchar *text = NULL, *def_text = NULL;
+
+ memset(&get_input, 0, sizeof(TelSatGetInputInd_t));
+
+ g_variant_get(param, "(iibbbsiiisi)", &command_id, &input_character_mode, &b_numeric, &b_help_info, &b_echo_input,
+ &text, &text_len, &rsp_len_max, &rsp_len_min, &def_text, &def_text_len);
+
+ get_input.commandId = command_id;
+ get_input.inputCharMode = input_character_mode;
+ get_input.bIsNumeric = (b_numeric ? 1 : 0);
+ get_input.bIsHelpInfoAvailable = (b_help_info ? 1 : 0);
+ get_input.bIsEchoInput = (b_echo_input ? 1 : 0);
+ memcpy(get_input.text.string, text, TAPI_SAT_DEF_TEXT_STRING_LEN_MAX+1);
+ g_free(text);
+ get_input.text.stringLen = text_len;
+ get_input.respLen.max = rsp_len_max;
+ get_input.respLen.min = rsp_len_min;
+ memcpy(get_input.defaultText.string, def_text, TAPI_SAT_DEF_TEXT_STRING_LEN_MAX+1);
+ g_free(def_text);
+ get_input.defaultText.stringLen = def_text_len;
+
+ dbg("command id(%d)", get_input.commandId);
+ dbg("input character mode(%d)", get_input.inputCharMode);
+ dbg("numeric(%d)", get_input.bIsNumeric);
+ dbg("help info avaiable(%d)", get_input.bIsHelpInfoAvailable);
+ dbg("echo input(%d)", get_input.bIsEchoInput);
+ dbg("text(%s)", get_input.text.string);
+ dbg("text length(%d)", get_input.text.stringLen);
+ dbg("response length max(%d)", get_input.respLen.max);
+ dbg("response length min(%d)", get_input.respLen.min);
+ dbg("default text(%s)", get_input.defaultText.string);
+ dbg("default text length(%d)", get_input.defaultText.stringLen);
+
+ TAPI_INVOKE_NOTI_CALLBACK(&get_input);
- get_inkey.commandId = command_id;
- get_inkey.keyType = key_type;
- get_inkey.inputCharMode = input_character_mode;
- get_inkey.bIsNumeric = (b_numeric ? 1 : 0);
- get_inkey.bIsHelpInfoAvailable = (b_help_info ? 1 : 0);
- memcpy(get_inkey.text.string, text, TAPI_SAT_DEF_TEXT_STRING_LEN_MAX+1);
- g_free(text);
- get_inkey.text.stringLen = text_len;
- get_inkey.duration = duration;
-
- dbg("command id(%d)", get_inkey.commandId);
- dbg("key type(%d)", get_inkey.keyType);
- dbg("input character mode(%d)", get_inkey.inputCharMode);
- dbg("numeric(%d)", get_inkey.bIsNumeric);
- dbg("help info available(%d)", get_inkey.bIsHelpInfoAvailable);
- dbg("text (%s)", get_inkey.text.string);
- dbg("text length (%d)", get_inkey.text.stringLen);
- dbg("duration (%d)", get_inkey.duration);
-
- TAPI_INVOKE_NOTI_CALLBACK(&get_inkey);
- } else if (!g_strcmp0(sig, "GetInput")) {
- TelSatGetInputInd_t get_input;
+}
- gint command_id, input_character_mode;
- gint text_len, def_text_len, rsp_len_min, rsp_len_max;
- gboolean b_numeric, b_help_info, b_echo_input;
- gchar *text = NULL, *def_text = NULL;
+static void __process_sat_event_send_sms(const gchar *sig, GVariant *param,
+ TapiHandle *handle, char *noti_id, struct tapi_evt_cb *evt_cb_data)
+{
+ TelSatSendSmsIndSmsData_t send_sms;
- memset(&get_input, 0, sizeof(TelSatGetInputInd_t));
+ gint command_id, ton, npi, tpdu_type;
+ gboolean b_packing_required;
+ gint text_len, number_len, tpdu_data_len;
+ gchar *text = NULL, *dialling_number = NULL;
+ GVariant *tpdu_data;
- g_variant_get(param, "(iibbbsiiisi)", &command_id, &input_character_mode, &b_numeric, &b_help_info, &b_echo_input,
- &text, &text_len, &rsp_len_max, &rsp_len_min, &def_text, &def_text_len);
+ memset(&send_sms, 0, sizeof(TelSatSendSmsIndSmsData_t));
- get_input.commandId = command_id;
- get_input.inputCharMode = input_character_mode;
- get_input.bIsNumeric = (b_numeric ? 1 : 0);
- get_input.bIsHelpInfoAvailable = (b_help_info ? 1 : 0);
- get_input.bIsEchoInput = (b_echo_input ? 1 : 0);
- memcpy(get_input.text.string, text, TAPI_SAT_DEF_TEXT_STRING_LEN_MAX+1);
- g_free(text);
- get_input.text.stringLen = text_len;
- get_input.respLen.max = rsp_len_max;
- get_input.respLen.min = rsp_len_min;
- memcpy(get_input.defaultText.string, def_text, TAPI_SAT_DEF_TEXT_STRING_LEN_MAX+1);
- g_free(def_text);
- get_input.defaultText.stringLen = def_text_len;
-
- dbg("command id(%d)", get_input.commandId);
- dbg("input character mode(%d)", get_input.inputCharMode);
- dbg("numeric(%d)", get_input.bIsNumeric);
- dbg("help info avaiable(%d)", get_input.bIsHelpInfoAvailable);
- dbg("echo input(%d)", get_input.bIsEchoInput);
- dbg("text(%s)", get_input.text.string);
- dbg("text length(%d)", get_input.text.stringLen);
- dbg("response length max(%d)", get_input.respLen.max);
- dbg("response length min(%d)", get_input.respLen.min);
- dbg("default text(%s)", get_input.defaultText.string);
- dbg("default text length(%d)", get_input.defaultText.stringLen);
-
- TAPI_INVOKE_NOTI_CALLBACK(&get_input);
- } else if (!g_strcmp0(sig, "SendSMS")) {
- TelSatSendSmsIndSmsData_t send_sms;
+ g_variant_get(param, "(isibiisii@vi)", &command_id, &text, &text_len, &b_packing_required, &ton, &npi,
+ &dialling_number, &number_len, &tpdu_type, &tpdu_data, &tpdu_data_len);
- gint command_id, ton, npi, tpdu_type;
- gboolean b_packing_required;
- gint text_len, number_len, tpdu_data_len;
- gchar *text = NULL, *dialling_number = NULL;
- GVariant *tpdu_data;
+ send_sms.commandId = command_id;
+ send_sms.bIsPackingRequired = (b_packing_required ? 1 : 0);
- memset(&send_sms, 0, sizeof(TelSatSendSmsIndSmsData_t));
+ send_sms.address.ton = ton;
+ send_sms.address.npi = npi;
+ send_sms.address.diallingNumberLen = number_len;
+ memcpy(send_sms.address.diallingNumber, dialling_number, TAPI_SAT_DIALLING_NUMBER_LEN_MAX);
+ g_free(dialling_number);
+ g_free(text);
- g_variant_get(param, "(isibiisii@vi)", &command_id, &text, &text_len, &b_packing_required, &ton, &npi,
- &dialling_number, &number_len, &tpdu_type, &tpdu_data, &tpdu_data_len);
+ send_sms.smsTpdu.tpduType = tpdu_type;
+ send_sms.smsTpdu.dataLen = tpdu_data_len;
- send_sms.commandId = command_id;
- send_sms.bIsPackingRequired = (b_packing_required ? 1 : 0);
+ if (tpdu_data) {
+ int send_sms_index = 0;
+ guchar data;
+ GVariantIter *iter = NULL;
+ GVariant *inner_gv = NULL;
- send_sms.address.ton = ton;
- send_sms.address.npi = npi;
- send_sms.address.diallingNumberLen = number_len;
- memcpy(send_sms.address.diallingNumber, dialling_number, TAPI_SAT_DIALLING_NUMBER_LEN_MAX);
- g_free(dialling_number);
- g_free(text);
+ inner_gv = g_variant_get_variant(tpdu_data);
+ dbg("tpdu data exist type_format(%s)", g_variant_get_type_string(inner_gv));
+
+ g_variant_get(inner_gv, "ay", &iter);
+ while (g_variant_iter_loop(iter, "y", &data)) {
+ dbg("index(%d) data(%c)", send_sms_index, data);
+ send_sms.smsTpdu.data[send_sms_index] = data;
+ send_sms_index++;
+ }
+ g_variant_iter_free(iter);
+ g_variant_unref(inner_gv);
+ }
- send_sms.smsTpdu.tpduType = tpdu_type;
- send_sms.smsTpdu.dataLen = tpdu_data_len;
+ dbg("command id(%d)", send_sms.commandId);
+ dbg("packing required(%d)", send_sms.bIsPackingRequired);
+ dbg("address ton(%d)", send_sms.address.ton);
+ dbg("address npi(%d)", send_sms.address.npi);
+ dbg("address dialing number (%s)", send_sms.address.diallingNumber);
+ dbg("address number length (%d)", send_sms.address.diallingNumberLen);
+ dbg("tpdu type (%d)", send_sms.smsTpdu.tpduType);
+ dbg("tpdu length (%d)", send_sms.smsTpdu.dataLen);
- if (tpdu_data) {
- int send_sms_index = 0;
- guchar data;
- GVariantIter *iter = NULL;
- GVariant *inner_gv = NULL;
+ TAPI_INVOKE_NOTI_CALLBACK(&send_sms);
- inner_gv = g_variant_get_variant(tpdu_data);
- dbg("tpdu data exist type_format(%s)", g_variant_get_type_string(inner_gv));
+}
- g_variant_get(inner_gv, "ay", &iter);
- while (g_variant_iter_loop(iter, "y", &data)) {
- dbg("index(%d) data(%c)", send_sms_index, data);
- send_sms.smsTpdu.data[send_sms_index] = data;
- send_sms_index++;
- }
- g_variant_iter_free(iter);
- g_variant_unref(inner_gv);
- }
+static void __process_sat_event_setup_eventlist(const gchar *sig, GVariant *param,
+ TapiHandle *handle, char *noti_id, struct tapi_evt_cb *evt_cb_data)
+{
+ int g_index = 0;
+ gint event_cnt;
+ GVariant *evt_list;
+ TelSatEventListData_t event_list;
+
+ memset(&event_list, 0, sizeof(TelSatEventListData_t));
+
+ g_variant_get(param, "(i@v)", &event_cnt, &evt_list);
+
+ if (evt_list) {
+ guchar data;
+ GVariantIter *iter = NULL;
+ GVariant *inner_gv = NULL;
+
+ inner_gv = g_variant_get_variant(evt_list);
+ dbg("event list exist type_format(%s)", g_variant_get_type_string(inner_gv));
+
+ g_variant_get(inner_gv, "ai", &iter);
+ while (g_variant_iter_loop(iter, "i", &data)) {
+ dbg("g_index(%d) event(%d)", g_index, data);
+ g_event_list[g_index] = data;
+
+ if (data == TAPI_EVENT_SAT_DW_TYPE_IDLE_SCREEN_AVAILABLE)
+ event_list.bIsIdleScreenAvailable = 1;
+ else if (data == TAPI_EVENT_SAT_DW_TYPE_LANGUAGE_SELECTION)
+ event_list.bIsLanguageSelection = 1;
+ else if (data == TAPI_EVENT_SAT_DW_TYPE_BROWSER_TERMINATION)
+ event_list.bIsBrowserTermination = 1;
+ else if (data == TAPI_EVENT_SAT_DW_TYPE_DATA_AVAILABLE)
+ event_list.bIsDataAvailable = 1;
+ else if (data == TAPI_EVENT_SAT_DW_TYPE_CHANNEL_STATUS)
+ event_list.bIsChannelStatus = 1;
+
+ g_index++;
+ } /* while end */
+ g_variant_iter_free(iter);
+ g_variant_unref(inner_gv);
+ }
- dbg("command id(%d)", send_sms.commandId);
- dbg("packing required(%d)", send_sms.bIsPackingRequired);
- dbg("address ton(%d)", send_sms.address.ton);
- dbg("address npi(%d)", send_sms.address.npi);
- dbg("address dialing number (%s)", send_sms.address.diallingNumber);
- dbg("address number length (%d)", send_sms.address.diallingNumberLen);
- dbg("tpdu type (%d)", send_sms.smsTpdu.tpduType);
- dbg("tpdu length (%d)", send_sms.smsTpdu.dataLen);
+ dbg("event list cnt(%d)", event_cnt);
- TAPI_INVOKE_NOTI_CALLBACK(&send_sms);
- } else if (!g_strcmp0(sig, "SetupEventList")) {
- int g_index = 0;
- gint event_cnt;
- GVariant *evt_list;
- TelSatEventListData_t event_list;
+ TAPI_INVOKE_NOTI_CALLBACK(&event_list);
- memset(&event_list, 0, sizeof(TelSatEventListData_t));
+}
- g_variant_get(param, "(i@v)", &event_cnt, &evt_list);
+static void __process_sat_event_refresh(const gchar *sig, GVariant *param,
+ TapiHandle *handle, char *noti_id, struct tapi_evt_cb *evt_cb_data)
+{
+ TelSatRefreshInd_t refresh_info;
- if (evt_list) {
- guchar data;
- GVariantIter *iter = NULL;
- GVariant *inner_gv = NULL;
+ gint command_id = 0;
+ gint refresh_type = 0;
+ gint file_cnt = 0;
+ GVariant *file_list = NULL;
- inner_gv = g_variant_get_variant(evt_list);
- dbg("event list exist type_format(%s)", g_variant_get_type_string(inner_gv));
-
- g_variant_get(inner_gv, "ai", &iter);
- while (g_variant_iter_loop(iter, "i", &data)) {
- dbg("g_index(%d) event(%d)", g_index, data);
- g_event_list[g_index] = data;
-
- if (data == TAPI_EVENT_SAT_DW_TYPE_IDLE_SCREEN_AVAILABLE)
- event_list.bIsIdleScreenAvailable = 1;
- else if (data == TAPI_EVENT_SAT_DW_TYPE_LANGUAGE_SELECTION)
- event_list.bIsLanguageSelection = 1;
- else if (data == TAPI_EVENT_SAT_DW_TYPE_BROWSER_TERMINATION)
- event_list.bIsBrowserTermination = 1;
- else if (data == TAPI_EVENT_SAT_DW_TYPE_DATA_AVAILABLE)
- event_list.bIsDataAvailable = 1;
- else if (data == TAPI_EVENT_SAT_DW_TYPE_CHANNEL_STATUS)
- event_list.bIsChannelStatus = 1;
-
- g_index++;
- } /* while end */
- g_variant_iter_free(iter);
- g_variant_unref(inner_gv);
+ memset(&refresh_info, 0, sizeof(TelSatRefreshInd_t));
+
+ g_variant_get(param, "(ii@v)", &command_id, &refresh_type, &file_list);
+
+ refresh_info.commandId = command_id;
+ refresh_info.refreshMode = refresh_type;
+
+ if (file_list) {
+ int g_index = 0;
+ guchar data;
+ GVariantIter *iter = NULL;
+ GVariant *inner_gv = NULL;
+
+ inner_gv = g_variant_get_variant(file_list);
+ dbg("file list exist type_format(%s)", g_variant_get_type_string(inner_gv));
+
+ g_variant_get(inner_gv, "ai", &iter);
+ while (g_variant_iter_loop(iter, "i", &data)) {
+ dbg("g_index(%d) file id(%d)", g_index, data);
+ refresh_info.fileId[g_index] = data;
+ g_index++;
}
+ file_cnt = g_index;
- dbg("event list cnt(%d)", event_cnt);
+ /* while end */
+ g_variant_iter_free(iter);
+ g_variant_unref(inner_gv);
+ }
+ refresh_info.fileCount = file_cnt;
- TAPI_INVOKE_NOTI_CALLBACK(&event_list);
- } else if (!g_strcmp0(sig, "Refresh")) {
- TelSatRefreshInd_t refresh_info;
+ dbg("refresh event/file cnt(%d)", refresh_info.fileCount);
- gint command_id = 0;
- gint refresh_type = 0;
- gint file_cnt = 0;
- GVariant *file_list = NULL;
+ TAPI_INVOKE_NOTI_CALLBACK(&refresh_info);
- memset(&refresh_info, 0, sizeof(TelSatRefreshInd_t));
+}
- g_variant_get(param, "(ii@v)", &command_id, &refresh_type, &file_list);
+static void __process_sat_event_send_dtmf(const gchar *sig, GVariant *param,
+ TapiHandle *handle, char *noti_id, struct tapi_evt_cb *evt_cb_data)
+{
+ TelSatSendDtmfIndDtmfData_t send_dtmf;
- refresh_info.commandId = command_id;
- refresh_info.refreshMode = refresh_type;
+ gint command_id = 0;
+ gint text_len = 0, dtmf_str_len = 0;
+ gchar *text = NULL;
+ gchar *dtmf_str = NULL;
- if (file_list) {
- int g_index = 0;
- guchar data;
- GVariantIter *iter = NULL;
- GVariant *inner_gv = NULL;
+ memset(&send_dtmf, 0, sizeof(TelSatSendDtmfIndDtmfData_t));
- inner_gv = g_variant_get_variant(file_list);
- dbg("file list exist type_format(%s)", g_variant_get_type_string(inner_gv));
+ g_variant_get(param, "(isisi)", &command_id, &text, &text_len, &dtmf_str, &dtmf_str_len);
- g_variant_get(inner_gv, "ai", &iter);
- while (g_variant_iter_loop(iter, "i", &data)) {
- dbg("g_index(%d) file id(%d)", g_index, data);
- refresh_info.fileId[g_index] = data;
- g_index++;
- }
- file_cnt = g_index;
+ send_dtmf.commandId = command_id;
+ send_dtmf.bIsHiddenMode = 1;
- /* while end */
- g_variant_iter_free(iter);
- g_variant_unref(inner_gv);
- }
- refresh_info.fileCount = file_cnt;
+ send_dtmf.dtmfString.stringLen = dtmf_str_len;
+ memcpy(send_dtmf.dtmfString.string, dtmf_str, TAPI_SAT_DEF_TEXT_STRING_LEN_MAX+1);
+ g_free(dtmf_str);
+ g_free(text);
- dbg("refresh event/file cnt(%d)", refresh_info.fileCount);
+ dbg("dtmf event command id(%d)", send_dtmf.commandId);
+ dbg("dtmf event dtmf(%s)", send_dtmf.dtmfString.string);
- TAPI_INVOKE_NOTI_CALLBACK(&refresh_info);
- } else if (!g_strcmp0(sig, "SendDtmf")) {
- TelSatSendDtmfIndDtmfData_t send_dtmf;
+ TAPI_INVOKE_NOTI_CALLBACK(&send_dtmf);
- gint command_id = 0;
- gint text_len = 0, dtmf_str_len = 0;
- gchar *text = NULL;
- gchar *dtmf_str = NULL;
+}
+
+static void __process_sat_event_call_control_result(const gchar *sig, GVariant *param,
+ TapiHandle *handle, char *noti_id, struct tapi_evt_cb *evt_cb_data)
+{
+ TelSatCallCtrlIndData_t call_ctrl_result_ind;
+ gint call_ctrl_result = 0, disp_len = 0;
+ gint bc_repeat_indicator = 0, ton = 0x0F, npi = 0X0F;
+ gchar *text = NULL, *call_num = NULL, *ss_string = NULL, *sub_addr = NULL, *ccp1 = NULL, *ccp2 = NULL;
+
+ memset(&call_ctrl_result_ind, 0x00, sizeof(TelSatCallCtrlIndData_t));
+
+ g_variant_get(param, "(isiisssssi)", &call_ctrl_result, &text, &ton, &npi, &call_num,
+ &ss_string, &sub_addr, &ccp1, &ccp2, &bc_repeat_indicator);
+
+ call_ctrl_result_ind.callCtrlResult = call_ctrl_result;
+ disp_len = strlen(text); /* alpha id */
+ if (disp_len > 1) {
+ call_ctrl_result_ind.dispData.stringLen = disp_len;
+ snprintf((char *)call_ctrl_result_ind.dispData.string, disp_len + 1, "%s", text);
+ call_ctrl_result_ind.bIsUserInfoDisplayEnabled = 1;
+ }
+ g_free(text);
+
+ if (strlen(call_num) > 1 && (g_strcmp0(call_num, "") != 0)) {
+ /* Call number exist */
+ call_ctrl_result_ind.callCtrlCnfType = TAPI_SAT_CALL_TYPE_MO_VOICE;
+ call_ctrl_result_ind.u.callCtrlCnfCallData.address.stringLen = strlen(call_num);
+ snprintf((char *)call_ctrl_result_ind.u.callCtrlCnfCallData.address.string, strlen(call_num) + 1, "%s", call_num);
+ call_ctrl_result_ind.u.callCtrlCnfCallData.subAddress.stringLen = strlen(sub_addr);
+ snprintf((char *)call_ctrl_result_ind.u.callCtrlCnfCallData.subAddress.string, strlen(sub_addr) + 1, "%s", sub_addr);
+ call_ctrl_result_ind.u.callCtrlCnfCallData.ccp1.stringLen = strlen(ccp1);
+ snprintf((char *)call_ctrl_result_ind.u.callCtrlCnfCallData.ccp1.string, strlen(ccp1) + 1, "%s", ccp1);
+ call_ctrl_result_ind.u.callCtrlCnfCallData.ccp2.stringLen = strlen(ccp2);
+ snprintf((char *)call_ctrl_result_ind.u.callCtrlCnfCallData.ccp2.string, strlen(ccp2) + 1, "%s", ccp2);
+ call_ctrl_result_ind.u.callCtrlCnfCallData.bcRepeatIndicator = bc_repeat_indicator;
+ } else if (strlen(ss_string) > 1 && (g_strcmp0(ss_string, "") != 0)) {
+ /* SS string exist */
+ call_ctrl_result_ind.callCtrlCnfType = TAPI_SAT_CALL_TYPE_SS;
+ call_ctrl_result_ind.u.callCtrlCnfSsData.ssString.stringLen = strlen(ss_string);
+ snprintf((char *)call_ctrl_result_ind.u.callCtrlCnfSsData.ssString.string, strlen(ss_string) + 1, "%s", ss_string);
+ call_ctrl_result_ind.u.callCtrlCnfSsData.subAddress.stringLen = strlen(sub_addr);
+ snprintf((char *)call_ctrl_result_ind.u.callCtrlCnfSsData.subAddress.string, strlen(sub_addr) + 1, "%s", sub_addr);
+ call_ctrl_result_ind.u.callCtrlCnfSsData.ccp1.stringLen = strlen(ccp1);
+ snprintf((char *)call_ctrl_result_ind.u.callCtrlCnfSsData.ccp1.string, strlen(ccp1) + 1, "%s", ccp1);
+ call_ctrl_result_ind.u.callCtrlCnfSsData.ccp2.stringLen = strlen(ccp2);
+ snprintf((char *)call_ctrl_result_ind.u.callCtrlCnfSsData.ccp2.string, strlen(ccp2) + 1, "%s", ccp2);
+ call_ctrl_result_ind.u.callCtrlCnfSsData.bcRepeatIndicator = bc_repeat_indicator;
+ } else {
+ dbg("not matched call control");
+ goto EXIT;
+ }
- memset(&send_dtmf, 0, sizeof(TelSatSendDtmfIndDtmfData_t));
+ TAPI_INVOKE_NOTI_CALLBACK(&call_ctrl_result_ind);
- g_variant_get(param, "(isisi)", &command_id, &text, &text_len, &dtmf_str, &dtmf_str_len);
+EXIT:
+ g_free(call_num);
+ g_free(sub_addr);
+ g_free(ccp1);
+ g_free(ccp2);
+ g_free(ss_string);
+
+}
+
+static void __process_sat_event_mosms_control_result(const gchar *sig, GVariant *param,
+ TapiHandle *handle, char *noti_id, struct tapi_evt_cb *evt_cb_data)
+{
+ TelSatMoSmCtrlIndData_t mo_sm_ctrl_result_ind;
+ gint call_ctrl_result = 0 , disp_len = 0;
+ gint rp_dst_ton = 0x0F, rp_dst_npi = 0X0F, tp_dst_ton = 0x0F, tp_dst_npi = 0X0F;
+ gchar *text = NULL, *rp_dst_call_num = NULL, *tp_dst_call_num = NULL;
+
+ memset(&mo_sm_ctrl_result_ind, 0x00, sizeof(TelSatMoSmCtrlIndData_t));
+
+ g_variant_get(param, "(isiisiis)", &call_ctrl_result, &text,
+ &rp_dst_ton, &rp_dst_npi, &rp_dst_call_num, &tp_dst_ton, &tp_dst_npi, &tp_dst_call_num);
+
+ mo_sm_ctrl_result_ind.moSmsCtrlResult = call_ctrl_result;
+ disp_len = strlen(text); /* alpha id */
+ if (disp_len > 1) {
+ mo_sm_ctrl_result_ind.dispData.stringLen = disp_len;
+ snprintf(mo_sm_ctrl_result_ind.dispData.string, disp_len + 1, "%s", text);
+ mo_sm_ctrl_result_ind.bIsUserInfoDisplayEnabled = 1;
+ }
+
+ if (strlen(rp_dst_call_num) > 1 && (g_strcmp0(rp_dst_call_num, "") != 0)) {
+ /* RP DST Call number exist */
+ mo_sm_ctrl_result_ind.rpDestAddr.bIsDigitOnly = 1;
+ mo_sm_ctrl_result_ind.rpDestAddr.stringLen = strlen(rp_dst_call_num);
+ snprintf(mo_sm_ctrl_result_ind.rpDestAddr.string, strlen(rp_dst_call_num) + 1, "%s", rp_dst_call_num);
+ } else if (strlen(tp_dst_call_num) > 1 && (g_strcmp0(tp_dst_call_num, "") != 0)) {
+ /* TP DST Call number exist */
+ mo_sm_ctrl_result_ind.tpDestAddr.bIsDigitOnly = 1;
+ mo_sm_ctrl_result_ind.tpDestAddr.stringLen = strlen(tp_dst_call_num);
+ snprintf(mo_sm_ctrl_result_ind.tpDestAddr.string, strlen(tp_dst_call_num) + 1, "%s", tp_dst_call_num);
+ } else {
+ dbg("Any destination address are not provided, use default one.");
+ }
+ g_free(text);
+ g_free(rp_dst_call_num);
+ g_free(tp_dst_call_num);
- send_dtmf.commandId = command_id;
- send_dtmf.bIsHiddenMode = 1;
+ TAPI_INVOKE_NOTI_CALLBACK(&mo_sm_ctrl_result_ind);
- send_dtmf.dtmfString.stringLen = dtmf_str_len;
- memcpy(send_dtmf.dtmfString.string, dtmf_str, TAPI_SAT_DEF_TEXT_STRING_LEN_MAX+1);
- g_free(dtmf_str);
+}
+
+static void __process_sat_event_setup_call(const gchar *sig, GVariant *param,
+ TapiHandle *handle, char *noti_id, struct tapi_evt_cb *evt_cb_data)
+{
+ TelSatSetupCallIndCallData_t setup_call_data;
+ gint command_type = 0, confirm_text_len = 0;
+ gint text_len = 0, call_type = 0, duration = 0;
+ gchar *confirm_text = NULL, *text = NULL, *call_number = NULL;
+
+ dbg("setupcall event");
+ memset(&setup_call_data, 0x00, sizeof(TelSatSetupCallIndCallData_t));
+
+ g_variant_get(param, "(isisiisi)", &command_type, &confirm_text,
+ &confirm_text_len, &text, &text_len, &call_type, &call_number, &duration);
+
+ setup_call_data.commandId = command_type;
+ setup_call_data.calltype = call_type;
+
+ if (text) {
+ snprintf((char *)setup_call_data.dispText.string, strlen(text) + 1, "%s", text);
+ setup_call_data.dispText.stringLen = text_len;
g_free(text);
+ }
+ if (call_number) {
+ snprintf((char *)setup_call_data.callNumber.string, strlen(call_number) + 1, "%s", call_number);
+ setup_call_data.callNumber.stringLen = strlen(call_number); /* Number length */
+ g_free(call_number);
+ }
+ setup_call_data.duration = duration;
- dbg("dtmf event command id(%d)", send_dtmf.commandId);
- dbg("dtmf event dtmf(%s)", send_dtmf.dtmfString.string);
+ g_free(confirm_text);
- TAPI_INVOKE_NOTI_CALLBACK(&send_dtmf);
+ TAPI_INVOKE_NOTI_CALLBACK(&setup_call_data);
+
+}
+
+static void _process_sat_event(const gchar *sig, GVariant *param,
+ TapiHandle *handle, char *noti_id, struct tapi_evt_cb *evt_cb_data)
+{
+ TAPI_RETURN_IF_FAIL(evt_cb_data);
+
+ if (!g_strcmp0(sig, "SetupMenu")) {
+ __process_sat_event_setup_menu(sig, param, handle, noti_id, evt_cb_data);
+ } else if (!g_strcmp0(sig, "DisplayText")) {
+ __process_sat_event_display_text(sig, param, handle, noti_id, evt_cb_data);
+ } else if (!g_strcmp0(sig, "SelectItem")) {
+ __process_sat_event_select_item(sig, param, handle, noti_id, evt_cb_data);
+ } else if (!g_strcmp0(sig, "GetInkey")) {
+ __process_sat_event_get_inkey(sig, param, handle, noti_id, evt_cb_data);
+ } else if (!g_strcmp0(sig, "GetInput")) {
+ __process_sat_event_get_input(sig, param, handle, noti_id, evt_cb_data);
+ } else if (!g_strcmp0(sig, "SendSMS")) {
+ __process_sat_event_send_sms(sig, param, handle, noti_id, evt_cb_data);
+ } else if (!g_strcmp0(sig, "SetupEventList")) {
+ __process_sat_event_setup_eventlist(sig, param, handle, noti_id, evt_cb_data);
+ } else if (!g_strcmp0(sig, "Refresh")) {
+ __process_sat_event_refresh(sig, param, handle, noti_id, evt_cb_data);
+ } else if (!g_strcmp0(sig, "SendDtmf")) {
+ __process_sat_event_send_dtmf(sig, param, handle, noti_id, evt_cb_data);
} else if (!g_strcmp0(sig, "EndProactiveSession")) {
int command_type = 0;
g_free(text);
g_free(ussd_str);
} else if (!g_strcmp0(sig, "CallControlResult")) {
- TelSatCallCtrlIndData_t call_ctrl_result_ind;
- gint call_ctrl_result = 0, disp_len = 0;
- gint bc_repeat_indicator = 0, ton = 0x0F, npi = 0X0F;
- gchar *text = NULL, *call_num = NULL, *ss_string = NULL, *sub_addr = NULL, *ccp1 = NULL, *ccp2 = NULL;
-
- memset(&call_ctrl_result_ind, 0x00, sizeof(TelSatCallCtrlIndData_t));
-
- g_variant_get(param, "(isiisssssi)", &call_ctrl_result, &text, &ton, &npi, &call_num,
- &ss_string, &sub_addr, &ccp1, &ccp2, &bc_repeat_indicator);
-
- call_ctrl_result_ind.callCtrlResult = call_ctrl_result;
- disp_len = strlen(text); /* alpha id */
- if (disp_len > 1) {
- call_ctrl_result_ind.dispData.stringLen = disp_len;
- snprintf((char *)call_ctrl_result_ind.dispData.string, disp_len + 1, "%s", text);
- call_ctrl_result_ind.bIsUserInfoDisplayEnabled = 1;
- }
- g_free(text);
-
- if (strlen(call_num) > 1 && (g_strcmp0(call_num, "") != 0)) {
- /* Call number exist */
- call_ctrl_result_ind.callCtrlCnfType = TAPI_SAT_CALL_TYPE_MO_VOICE;
- call_ctrl_result_ind.u.callCtrlCnfCallData.address.stringLen = strlen(call_num);
- snprintf((char *)call_ctrl_result_ind.u.callCtrlCnfCallData.address.string, strlen(call_num) + 1, "%s", call_num);
- call_ctrl_result_ind.u.callCtrlCnfCallData.subAddress.stringLen = strlen(sub_addr);
- snprintf((char *)call_ctrl_result_ind.u.callCtrlCnfCallData.subAddress.string, strlen(sub_addr) + 1, "%s", sub_addr);
- call_ctrl_result_ind.u.callCtrlCnfCallData.ccp1.stringLen = strlen(ccp1);
- snprintf((char *)call_ctrl_result_ind.u.callCtrlCnfCallData.ccp1.string, strlen(ccp1) + 1, "%s", ccp1);
- call_ctrl_result_ind.u.callCtrlCnfCallData.ccp2.stringLen = strlen(ccp2);
- snprintf((char *)call_ctrl_result_ind.u.callCtrlCnfCallData.ccp2.string, strlen(ccp2) + 1, "%s", ccp2);
- call_ctrl_result_ind.u.callCtrlCnfCallData.bcRepeatIndicator = bc_repeat_indicator;
- } else if (strlen(ss_string) > 1 && (g_strcmp0(ss_string, "") != 0)) {
- /* SS string exist */
- call_ctrl_result_ind.callCtrlCnfType = TAPI_SAT_CALL_TYPE_SS;
- call_ctrl_result_ind.u.callCtrlCnfSsData.ssString.stringLen = strlen(ss_string);
- snprintf((char *)call_ctrl_result_ind.u.callCtrlCnfSsData.ssString.string, strlen(ss_string) + 1, "%s", ss_string);
- call_ctrl_result_ind.u.callCtrlCnfSsData.subAddress.stringLen = strlen(sub_addr);
- snprintf((char *)call_ctrl_result_ind.u.callCtrlCnfSsData.subAddress.string, strlen(sub_addr) + 1, "%s", sub_addr);
- call_ctrl_result_ind.u.callCtrlCnfSsData.ccp1.stringLen = strlen(ccp1);
- snprintf((char *)call_ctrl_result_ind.u.callCtrlCnfSsData.ccp1.string, strlen(ccp1) + 1, "%s", ccp1);
- call_ctrl_result_ind.u.callCtrlCnfSsData.ccp2.stringLen = strlen(ccp2);
- snprintf((char *)call_ctrl_result_ind.u.callCtrlCnfSsData.ccp2.string, strlen(ccp2) + 1, "%s", ccp2);
- call_ctrl_result_ind.u.callCtrlCnfSsData.bcRepeatIndicator = bc_repeat_indicator;
- } else {
- dbg("not matched call control");
- goto EXIT;
- }
-
- TAPI_INVOKE_NOTI_CALLBACK(&call_ctrl_result_ind);
-
-EXIT:
- g_free(call_num);
- g_free(sub_addr);
- g_free(ccp1);
- g_free(ccp2);
- g_free(ss_string);
+ __process_sat_event_call_control_result(sig, param, handle, noti_id, evt_cb_data);
} else if (!g_strcmp0(sig, "MoSmControlResult")) {
- TelSatMoSmCtrlIndData_t mo_sm_ctrl_result_ind;
- gint call_ctrl_result = 0 , disp_len = 0;
- gint rp_dst_ton = 0x0F, rp_dst_npi = 0X0F, tp_dst_ton = 0x0F, tp_dst_npi = 0X0F;
- gchar *text = NULL, *rp_dst_call_num = NULL, *tp_dst_call_num = NULL;
-
- memset(&mo_sm_ctrl_result_ind, 0x00, sizeof(TelSatMoSmCtrlIndData_t));
-
- g_variant_get(param, "(isiisiis)", &call_ctrl_result, &text,
- &rp_dst_ton, &rp_dst_npi, &rp_dst_call_num, &tp_dst_ton, &tp_dst_npi, &tp_dst_call_num);
-
- mo_sm_ctrl_result_ind.moSmsCtrlResult = call_ctrl_result;
- disp_len = strlen(text); /* alpha id */
- if (disp_len > 1) {
- mo_sm_ctrl_result_ind.dispData.stringLen = disp_len;
- snprintf(mo_sm_ctrl_result_ind.dispData.string, disp_len + 1, "%s", text);
- mo_sm_ctrl_result_ind.bIsUserInfoDisplayEnabled = 1;
- }
-
- if (strlen(rp_dst_call_num) > 1 && (g_strcmp0(rp_dst_call_num, "") != 0)) {
- /* RP DST Call number exist */
- mo_sm_ctrl_result_ind.rpDestAddr.bIsDigitOnly = 1;
- mo_sm_ctrl_result_ind.rpDestAddr.stringLen = strlen(rp_dst_call_num);
- snprintf(mo_sm_ctrl_result_ind.rpDestAddr.string, strlen(rp_dst_call_num) + 1, "%s", rp_dst_call_num);
- } else if (strlen(tp_dst_call_num) > 1 && (g_strcmp0(tp_dst_call_num, "") != 0)) {
- /* TP DST Call number exist */
- mo_sm_ctrl_result_ind.tpDestAddr.bIsDigitOnly = 1;
- mo_sm_ctrl_result_ind.tpDestAddr.stringLen = strlen(tp_dst_call_num);
- snprintf(mo_sm_ctrl_result_ind.tpDestAddr.string, strlen(tp_dst_call_num) + 1, "%s", tp_dst_call_num);
- } else {
- dbg("Any destination address are not provided, use default one.");
- }
- g_free(text);
- g_free(rp_dst_call_num);
- g_free(tp_dst_call_num);
-
- TAPI_INVOKE_NOTI_CALLBACK(&mo_sm_ctrl_result_ind);
+ __process_sat_event_mosms_control_result(sig, param, handle, noti_id, evt_cb_data);
} else if (!g_strcmp0(sig, "SetupCall")) {
- TelSatSetupCallIndCallData_t setup_call_data;
- gint command_type = 0, confirm_text_len = 0;
- gint text_len = 0, call_type = 0, duration = 0;
- gchar *confirm_text = NULL, *text = NULL, *call_number = NULL;
-
- dbg("setupcall event");
- memset(&setup_call_data, 0x00, sizeof(TelSatSetupCallIndCallData_t));
-
- g_variant_get(param, "(isisiisi)", &command_type, &confirm_text,
- &confirm_text_len, &text, &text_len, &call_type, &call_number, &duration);
-
- setup_call_data.commandId = command_type;
- setup_call_data.calltype = call_type;
- snprintf((char *)setup_call_data.dispText.string, strlen(text) + 1, "%s", text);
- setup_call_data.dispText.stringLen = text_len;
- snprintf((char *)setup_call_data.callNumber.string, strlen(call_number) + 1, "%s", call_number);
- setup_call_data.callNumber.stringLen = strlen(call_number); /* Number length */
- setup_call_data.duration = duration;
-
- g_free(confirm_text);
- g_free(text);
- g_free(call_number);
-
- TAPI_INVOKE_NOTI_CALLBACK(&setup_call_data);
+ __process_sat_event_setup_call(sig, param, handle, noti_id, evt_cb_data);
} else {
dbg("not handled Sat noti[%s]", sig);
}