+void _reply_msg_func(app_control_h app_control)
+{
+ char *text = NULL;
+ char *addr = NULL;
+ char *slot_id = NULL;
+
+ int ret = app_control_get_extra_data(app_control, APP_CONTROL_DATA_TEXT, &text);
+ if (ret != APP_CONTROL_ERROR_NONE || text == NULL) {
+ MSG_MGR_ERR("app_control_get_extra_data failed");
+ return;
+ }
+
+ ret = app_control_get_extra_data(app_control, "addr", &addr);
+ if (ret != APP_CONTROL_ERROR_NONE || addr == NULL) {
+ MSG_MGR_ERR("app_control_get_extra_data failed");
+ g_free(text);
+ return;
+ }
+
+ ret = app_control_get_extra_data(app_control, "slot_id", &slot_id);
+ if (ret != APP_CONTROL_ERROR_NONE || slot_id == NULL) {
+ MSG_MGR_ERR("app_control_get_extra_data failed");
+ g_free(text);
+ g_free(addr);
+ return ;
+ }
+
+ MSG_MGR_DEBUG("text [%s]", text);
+ MSG_MGR_DEBUG("addr [%s]", addr);
+ MSG_MGR_DEBUG("slot_id [%s]", slot_id);
+
+ msg_struct_t msg = msg_create_struct(MSG_STRUCT_MESSAGE_INFO);
+ msg_struct_t opt = msg_create_struct(MSG_STRUCT_SENDOPT);
+
+ msg_struct_t addr_item = NULL;
+ msg_list_add_item(msg, MSG_MESSAGE_ADDR_LIST_HND, &addr_item);
+ msg_set_int_value(addr_item, MSG_ADDRESS_INFO_ADDRESS_TYPE_INT, MSG_ADDRESS_TYPE_PLMN);
+ msg_set_int_value(addr_item, MSG_ADDRESS_INFO_RECIPIENT_TYPE_INT, MSG_RECIPIENTS_TYPE_TO);
+ msg_set_str_value(addr_item, MSG_ADDRESS_INFO_ADDRESS_VALUE_STR, addr, strlen(addr));
+
+ msg_set_int_value(msg, MSG_MESSAGE_TYPE_INT, MSG_TYPE_SMS);
+ msg_set_int_value(msg, MSG_MESSAGE_SIM_INDEX_INT, atoi(slot_id));
+ msg_set_str_value(msg, MSG_MESSAGE_SMS_DATA_STR, text, strlen(text));
+
+ msg_struct_t req = msg_create_struct(MSG_STRUCT_REQUEST_INFO);
+ msg_set_struct_handle(req, MSG_REQUEST_MESSAGE_HND, msg);
+ msg_set_struct_handle(req, MSG_REQUEST_SENDOPT_HND, opt);
+
+ int msg_err = msg_sms_send_message(msg_handle, req);
+ if (msg_err != MSG_SUCCESS)
+ MSG_MGR_ERR("msg_sms_send_message() failed [%d]", msg_err);
+
+ msg_release_struct(&msg);
+ msg_release_struct(&opt);
+ msg_release_struct(&req);
+
+ g_free(text);
+ g_free(addr);
+ g_free(slot_id);
+}
+