INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include/telephony-client)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/tapi.pc DESTINATION lib/pkgconfig)
INSTALL(TARGETS SLP-tapi DESTINATION lib COMPONENT Runtime)
-
-#ADD_SUBDIRECTORY(test_src)
TAPI_NETWORK_SELECTIONMODE_AUTOMATIC, /**< Network selection is in Automatic selection mode*/
TAPI_NETWORK_SELECTIONMODE_MANUAL, /**< Network selection is in Manual selection mode */
TAPI_NETWORK_SELECTIONMODE_GLOBAL_AUTOMAITIC, /**<Global Automatic */
- TAPI_NETWORK_SELECTIONMODE_CDMA /**<CDMA selection*/
+ TAPI_NETWORK_SELECTIONMODE_CDMA, /**<CDMA selection*/
+ TAPI_NETWORK_SELECTIONMODE_LTE_AUTO, /**<LTE Automatic*/
+ TAPI_NETWORK_SELECTIONMODE_LTE_MANUAL /**<LTE Manual */
} TelNetworkSelectionMode_t;
/**
TAPI_NETWORK_SYSTEM_EVDO_REV_A, /**< Available service is EV-DO revA */
TAPI_NETWORK_SYSTEM_1X_EVDO_REV_A_HYBRID, /**< Available service is 1X and EV-DO revA */
TAPI_NETWORK_SYSTEM_EVDV, /**< Available service is EV-DV */
+ TAPI_NETWORK_SYSTEM_LTE /**< Available service is LTE */
} TelNetworkSystemType_t;
/**
TAPI_NETWORK_BAND_TYPE_WCDMA1900, /**< This member sets the band to WCDMA 1900 */
TAPI_NETWORK_BAND_TYPE_WCDMA2100, /**< This member sets the band to WCDMA 2100 */
TAPI_NETWORK_BAND_TYPE_GSM900, /**< GSM 900*/
- TAPI_NETWORK_BAND_TYPE_GSM1800, /**< This member sets the band to GSM 1800 */
- TAPI_NETWORK_BAND_TYPE_GSM_850_1900 /**< This member sets the band to GSM 850_1900 */
+ TAPI_NETWORK_BAND_TYPE_GSM1800, /**< This member sets the band to GSM 1800 */
+ TAPI_NETWORK_BAND_TYPE_GSM_850_1900, /**< This member sets the band to GSM 850_1900 */
+ TAPI_NETWORK_BAND_TYPE_LTE_BAND_4, /**< This member sets the band to LTE BAND 4*/
+ TAPI_NETWORK_BAND_TYPE_LTE_BAND_17 /**< This member sets the band to LTE BAND 17 */
} TelNetworkBand_t;
/**
#define TAPI_NETTEXT_MSG_SIZE_MAX 918 /**< Maximum Message Size */
#define TAPI_NETTEXT_CB_SIZE_MAX 93 /** Maximum CB Message Size */
+#define TAPI_NETTEXT_ETWS_SIZE_MAX 56 /** Maximum ETWS Message Size */
#define TAPI_NETTEXT_ADDRESS_LEN_MAX 20 /* Nettext Address Length */
#define TAPI_NETTEXT_SCADDRESS_LEN_MAX 18 /* SC Address Length */
TAPI_NETTEXT_CB_MSG_INVALID /**< Invalid CB message */
} TelSmsCbMsgType_t;
+/**
+* @enum TelSmsEtwsMsgType_t
+* This enumeration defines the different ETWS message types.
+*/
+typedef enum
+{
+ TAPI_NETTEXT_ETWS_PRIMARY = 0, /**< Primary ETWS message */
+ TAPI_NETTEXT_ETWS_SECONDARY_GSM, /**< GSM Secondary ETWS message */
+ TAPI_NETTEXT_ETWS_SECONDARY_UMTS, /**< UMTS Secondary ETWS message */
+} TelSmsEtwsMsgType_t;
/**
* @enum TelSmsResponse_t
TAPI_NETTEXT_SUBADDR_USER_SPECIFIED = 0x01, /**< User-specified */
} TelSmsIs637SubAddressType_t;
+/**
+ * @enum telephony_sms_3gpp_type
+ * This defines the type of 3gpp
+ */
+typedef enum {
+ TAPI_NETTEXT_NETTYPE_3GPP = 0x01, /**< 3gpp type */
+ TAPI_NETTEXT_NETTYPE_3GPP2 = 0x02, /**< 3gpp2 type (CDMA) */
+} TelSms3gppType_t;
+
// ********************************************************************//
/**
* This structure defines the different parameters of CB configuration
*/
typedef struct {
- int bCBEnabled; /**< CB service state. If cb_enabled is true then cell broadcast service will be enabled and underlying modem will enable CB Channel to receiving CB messages. Otherwise CB service will be disabled, underlying modem will deactivate the CB channel. (enabled/disabled) */
- unsigned char SelectedId; /**< CBMI Identifier selected (all or some) */
- unsigned char MsgIdMaxCount; /**< CB Channel List Max Count */
- int MsgIdCount; /**< CB message ID count */
- unsigned short MsgIDs[TAPI_NETTEXT_GSM_SMS_CBMI_LIST_SIZE_MAX]; /**< CB message ID information */
+ unsigned short FromMsgId; /**< Starting point of the range of CBS message ID */
+ unsigned short ToMsgId; /**< Ending point of the range of CBS message ID */
+ unsigned char Selected; /**< 0x00 . Not selected. 0x01 . Selected */
+} TelSmsCbMsgInfo3gpp_t;
+
+typedef struct {
+ unsigned short CBCategory; /**< CB Service category */
+ unsigned short CBLanguage; /**< Language indicator value
+ . 0x00 . LANGUAGE_UNKNOWN .
+ Unknown or Unspecified
+ . 0x01 . LANGUAGE_ENGLISH . English
+ . 0x02 . LANGUAGE_FRENCH . French
+ . 0x03 . LANGUAGE_SPANISH . Spanish
+ . 0x04 . LANGUAGE_JAPANESE . Japanese
+ . 0x05 . LANGUAGE_KOREAN . Korean
+ . 0x06 . LANGUAGE_CHINESE . Chinese
+ . 0x07 . LANGUAGE_HEBREW . Hebrew*/
+ unsigned char Selected; /**< 0x00 . Not selected. 0x01 . Selected */
+} TelSmsCbMsgInfo3gpp2_t;
+
+typedef union {
+ TelSmsCbMsgInfo3gpp_t Net3gpp; /**< 3GPP Broadcast Configuration Information */
+ TelSmsCbMsgInfo3gpp2_t Net3gpp2; /**< 3GPP2 Broadcast Configuration Information, CDMA*/
+} TelSmsCbMsgInfo_t;
+
+typedef struct {
+ int Net3gppType; /**< Type of 3gpp, 0x01 . 3gpp. 0x02 . 3gpp2(CDMA) */
+ int CBEnabled; /**< CB service state. If cb_enabled is true then cell broadcast service will be enabled and underlying modem will enable CB Channel to receiving CB messages. Otherwise CB service will be disabled, underlying modem will deactivate the CB channel. (enabled/disabled) */
+ unsigned char MsgIdMaxCount; /**< CB Channel List Max Count For Response */
+ int MsgIdRangeCount; /**< Range of CB message ID count */
+ TelSmsCbMsgInfo_t MsgIDs[TAPI_NETTEXT_GSM_SMS_CBMI_LIST_SIZE_MAX]; /**< Range of CB message ID information */
} TelSmsCbConfig_t;
/**
TelSmsCbMsgType_t CbMsgType; /**< Cell Broadcast message type */
unsigned short Length; /**<Size of array szMsgData (which is actual TPDU message) */
- char szMsgData[TAPI_NETTEXT_CB_PAGE_SIZE_MAX + 1]; /**<Cell broadcast message data[Refer 3GPP TS 23.041 9.4.1]*/
+ char szMsgData[TAPI_NETTEXT_CB_SIZE_MAX + 1]; /**<Cell broadcast message data[Refer 3GPP TS 23.041 9.4.1]*/
} TelSmsCbMsg_t;
+/**
+ * This structure defines a ETWS message.
+ */
+typedef struct {
+ TelSmsEtwsMsgType_t EtwsMsgType; /**< Cell Broadcast message type */
+ unsigned short Length; /**<Size of array szMsgData (which is actual TPDU message) */
+ char szMsgData[TAPI_NETTEXT_ETWS_SIZE_MAX + 1]; /**<Cell broadcast message data[Refer 3GPP TS 23.041 9.4.1]*/
+} TelSmsEtwsMsg_t;
+
// ************************ CDMA Features **************************//
/**
* This structure defines cause code as an indication whether an SMS error has occurred and
#define TAPI_NOTI_SAT_REFRESH DBUS_TELEPHONY_SAT_INTERFACE":Refresh"
#define TAPI_NOTI_SAT_SEND_SMS DBUS_TELEPHONY_SAT_INTERFACE":SendSMS"
#define TAPI_NOTI_SAT_SETUP_EVENT_LIST DBUS_TELEPHONY_SAT_INTERFACE":SetupEventList"
+#define TAPI_NOTI_SAT_SEND_DTMF DBUS_TELEPHONY_SAT_INTERFACE":SendDtmf"
#define TAPI_NOTI_SAT_SESSION_END_EVENT DBUS_TELEPHONY_SAT_INTERFACE":EndProactiveSession"
#define TAPI_NOTI_SAT_MO_SMS_CTRL DBUS_TELEPHONY_SAT_INTERFACE":MoSmsCtrl"
#define DBUS_TELEPHONY_SMS_INTERFACE DBUS_TELEPHONY_SERVICE".sms"
#define TAPI_NOTI_SMS_INCOM_MSG DBUS_TELEPHONY_SMS_INTERFACE":IncommingMsg" /* This is an unsolicited Incoming SMS Event*/
#define TAPI_NOTI_SMS_CB_INCOM_MSG DBUS_TELEPHONY_SMS_INTERFACE":IncommingCbMsg" /* This is an unsolicited Incoming cell broadcast message*/
+#define TAPI_NOTI_SMS_ETWS_INCOM_MSG DBUS_TELEPHONY_SMS_INTERFACE":IncommingEtwsMsg" /* This is an unsolicited Incoming cell broadcast message*/
#if 0
#define TAPI_NOTI_SMS_INCOM_EX_MSG "org.tizen.telephony. " /* This is an extended unsolicited Incoming SMS Event*/
#define TAPI_NOTI_SMS_CB_INCOM_EX_MSG "org.tizen.telephony. " /* This is an extended unsolicited Incoming cell broadcast message*/
#sbs-git:slp/pkgs/l/libslp-tapi libslp-tapi 0.1.1
Name: libslp-tapi
Summary: Telephony dbus client library
-Version: 0.6.9
+Version: 0.6.14
Release: 1
Group: System/Libraries
License: Apache
%defattr(-,root,root,-)
#%doc COPYING
%{_libdir}/*.so.*
-#%{_bindir}/tapitest
%files devel
%defattr(-,root,root,-)
g_variant_get(param, "(iis)", ¬i.CbMsgType, ¬i.Length, &cbMsg);
decoded_cbMsg = g_base64_decode(cbMsg, &length);
- memcpy(&(noti.szMsgData[0]), decoded_cbMsg, TAPI_NETTEXT_CB_PAGE_SIZE_MAX + 1);
+ memcpy(&(noti.szMsgData[0]), decoded_cbMsg, TAPI_NETTEXT_CB_SIZE_MAX + 1);
noti_data = ¬i;
noti_data = &event_list;
}
+ else if (!g_strcmp0(sig, "Refresh")) {
+ //refresh
+ }
+ else if (!g_strcmp0(sig, "SendDtmf")) {
+ TelSatSendDtmfIndDtmfData_t send_dtmf;
+
+ gint command_id = 0;
+ gint text_len = 0, dtmf_str_len = 0;
+ gchar *text = NULL;
+ gchar *dtmf_str = NULL;
+
+ memset(&send_dtmf, 0, sizeof(TelSatSendDtmfIndDtmfData_t));
+
+ g_variant_get(param, "(isisi)", &command_id, &text, &text_len, &dtmf_str, &dtmf_str_len);
+
+ send_dtmf.commandId = command_id;
+ if(text_len <= 0 || g_strcmp0(text,"") == 0 ){
+ send_dtmf.bIsHiddenMode = 1;
+ }
+
+ send_dtmf.dtmfString.stringLen = dtmf_str_len;
+ memcpy(send_dtmf.dtmfString.string, dtmf_str, TAPI_SAT_DEF_TEXT_STRING_LEN_MAX+1);
+
+ dbg("dtmf event command id(%d)", send_dtmf.commandId);
+ dbg("dtmf event dtmf(%s)", send_dtmf.dtmfString.string);
+
+ noti_data = &send_dtmf;
+ }
else if (!g_strcmp0(sig, "EndProactiveSession")) {
int command_type = 0;
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &pb_cnt, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_get_sim_pb_meta_info(GObject *source_object, GAsyncResult *res, gpointer user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &pb_entry, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_get_sim_pb_usim_meta_info(GObject *source_object, GAsyncResult *res, gpointer user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &list, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_read_sim_pb_record(GObject *source_object, GAsyncResult *res, gpointer user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &pb_rec, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_update_sim_pb_record(GObject *source_object, GAsyncResult *res, gpointer user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, NULL, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_delete_sim_pb_record(GObject *source_object, GAsyncResult *res, gpointer user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, NULL, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
EXPORT_API int tel_get_sim_pb_init_info(TapiHandle *handle, int *init_completed, TelSimPbList_t *pb_list)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, (void*)&max_msg_size, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
EXPORT_API int tel_req_sap_connect(TapiHandle *handle, int max_msg_size, tapi_response_cb callback, void *user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, NULL, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
EXPORT_API int tel_req_sap_disconnect(TapiHandle *handle, tapi_response_cb callback, void *user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, NULL, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
EXPORT_API int tel_req_sap_connection_status(TapiHandle *handle, tapi_response_cb callback, void *user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, (void*)&r_atr, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
EXPORT_API int tel_req_sap_transfer_atr(TapiHandle *handle, tapi_response_cb callback, void *user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, (void*)&r_apdu, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
EXPORT_API int tel_req_sap_transfer_apdu(TapiHandle *handle, TelSapApduData_t *apdu_data, tapi_response_cb callback, void *user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, NULL, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
EXPORT_API int tel_req_sap_transport_protocol(TapiHandle *handle, TelSimSapProtocol_t protocol, tapi_response_cb callback, void *user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, NULL, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
EXPORT_API int tel_req_sap_power_operation(TapiHandle *handle, TelSimSapPowerMode_t power_mode, tapi_response_cb callback, void *user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, (void*)&reader_status, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
EXPORT_API int tel_req_sap_cardreader_status(TapiHandle *handle, tapi_response_cb callback, void *user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &iccid_info, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_get_sim_language(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &lang, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_set_sim_language(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, NULL, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_get_sim_callforwarding_info(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &cf, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_get_sim_messagewaiting_info(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &msg, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_get_sim_mailbox_info(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &list, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_get_sim_cphs_info(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &cphs, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_get_sim_msisdn(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &list, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_get_sim_oplmnwact(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &list, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_get_sim_spn(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &spn_info, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_get_sim_cphs_netname(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &cphs_net, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_req_sim_authentication(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &auth_resp, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_verify_sim_pins(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &sec_rt, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_verify_sim_puks(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &sec_rt, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_change_sim_pins(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &sec_rt, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_disable_sim_facility(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &f_rt, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_enable_sim_facility(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &f_rt, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_get_sim_facility(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &fi, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_get_sim_lock_info(GObject *source_object, GAsyncResult *res,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &lock, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_req_sim_apdu(GObject *source_object, GAsyncResult *res, gpointer user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &r_apdu, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
static void on_response_req_sim_atr(GObject *source_object, GAsyncResult *res, gpointer user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &r_atr, evt_cb_data->user_data);
}
+
+ free(evt_cb_data);
}
EXPORT_API int tel_get_sim_init_info(TapiHandle *handle, TelSimCardStatus_t *sim_status,
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &data, evt_cb_data->user_data);
}
+
+ if(evt_cb_data)
+ free(evt_cb_data);
+
}
static void on_response_read_msg(GObject *source_object, GAsyncResult *res, gpointer user_data)
if(decoded_tpdu)
g_free(decoded_tpdu);
+ if(evt_cb_data)
+ free(evt_cb_data);
+
}
static void on_response_write_msg(GObject *source_object, GAsyncResult *res, gpointer user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &index, evt_cb_data->user_data);
}
+
+ if(evt_cb_data)
+ free(evt_cb_data);
+
}
static void on_response_delete_msg(GObject *source_object, GAsyncResult *res, gpointer user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &index, evt_cb_data->user_data);
}
+
+ if(evt_cb_data)
+ free(evt_cb_data);
+
}
static void on_response_get_msg_count(GObject *source_object, GAsyncResult *res, gpointer user_data)
if(decoded_indexList)
g_free(decoded_indexList);
+ if(evt_cb_data)
+ free(evt_cb_data);
+
}
static void on_response_get_sca(GObject *source_object, GAsyncResult *res, gpointer user_data)
if(decoded_sca)
g_free(decoded_sca);
+ if(evt_cb_data)
+ free(evt_cb_data);
+
}
static void on_response_get_cb_config(GObject *source_object, GAsyncResult *res, gpointer user_data)
GDBusConnection *conn = NULL;
struct tapi_resp_data *evt_cb_data = user_data;
int result = -1;
+ int i;
TelSmsCbConfig_t cbConfig = {0,};
GVariant *dbus_result = NULL;
- const char *cbMsgIDs = NULL;
- gsize length;
- guchar *decoded_cbMsgIDs = NULL;
+ GVariant *value = NULL;
+ GVariantIter *iter = NULL;
+ GVariantIter *iter_row = NULL;
+ const gchar *key = NULL;
conn = G_DBUS_CONNECTION (source_object);
dbus_result = g_dbus_connection_call_finish(conn, res, &error);
dbg("on_response_get_cb_config type_format(%s)", g_variant_get_type_string(dbus_result));
- g_variant_get (dbus_result, "(iiiiis)", &result,
- &cbConfig.bCBEnabled,
- &cbConfig.SelectedId,
- &cbConfig.MsgIdMaxCount,
- &cbConfig.MsgIdCount,
- &cbMsgIDs);
-
- decoded_cbMsgIDs = g_base64_decode(cbMsgIDs, &length);
- memcpy(&(cbConfig.MsgIDs[0]), decoded_cbMsgIDs, TAPI_NETTEXT_GSM_SMS_CBMI_LIST_SIZE_MAX);
+ g_variant_get (dbus_result, "(iiiiiaa{sv})", &result,
+ &cbConfig.Net3gppType,
+ &cbConfig.CBEnabled,
+ &cbConfig.MsgIdMaxCount,
+ &cbConfig.MsgIdRangeCount,
+ &iter);
+
+ i = 0;
+ while (g_variant_iter_next(iter, "a{sv}", &iter_row)) {
+ while (g_variant_iter_loop(iter_row, "{sv}", &key, &value)) {
+ if (!g_strcmp0(key, "FromMsgId")) {
+ cbConfig.MsgIDs[i].Net3gpp.FromMsgId = g_variant_get_uint16(value);
+ }
+ if (!g_strcmp0(key, "ToMsgId")) {
+ cbConfig.MsgIDs[i].Net3gpp.ToMsgId = g_variant_get_uint16(value);
+ }
+ if (!g_strcmp0(key, "CBCategory")) {
+ cbConfig.MsgIDs[i].Net3gpp2.CBCategory = g_variant_get_uint16(value);
+ }
+ if (!g_strcmp0(key, "CBLanguage")) {
+ cbConfig.MsgIDs[i].Net3gpp2.CBLanguage = g_variant_get_uint16(value);
+ }
+ if (!g_strcmp0(key, "Selected")) {
+ cbConfig.MsgIDs[i].Net3gpp.Selected = g_variant_get_byte(value);
+ }
+ }
+ i++;
+ g_variant_iter_free(iter_row);
+ }
+ g_variant_iter_free(iter);
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &cbConfig, evt_cb_data->user_data);
}
- if(decoded_cbMsgIDs)
- g_free(decoded_cbMsgIDs);
+ if(evt_cb_data)
+ free(evt_cb_data);
}
if(decoded_scaDialNum)
g_free(decoded_scaDialNum);
+ if(evt_cb_data)
+ free(evt_cb_data);
+
}
static void on_response_get_sms_param_cnt(GObject *source_object, GAsyncResult *res, gpointer user_data)
if (evt_cb_data->cb_fn) {
evt_cb_data->cb_fn(evt_cb_data->handle, result, &recordCount, evt_cb_data->user_data);
}
+
+ if(evt_cb_data)
+ free(evt_cb_data);
+
}
/**
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(pDataPackage ,TAPI_API_INVALID_PTR);
- TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
#if 0
if (vconf_get_int("db/telephony/emergency", &emergency_mode) != 0) {
err("[FAIL]GET db/telephony/emergency");
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
- TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
if(index < 0) {
err("Invalid Input -Read SMS %d",index);
return TAPI_API_INVALID_INPUT;
}
+ TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
+
MAKE_RESP_CB_DATA(evt_cb_data, handle, callback, user_data);
param = g_variant_new("(i)", index);
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(pWriteData ,TAPI_API_INVALID_PTR);
- TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
MAKE_RESP_CB_DATA(evt_cb_data, handle, callback, user_data);
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
- TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
if ((index < 0) || (index > TAPI_NETTEXT_MAX_INDEX)) {
err("Invalid Index Input");
return TAPI_API_INVALID_INPUT;
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
MAKE_RESP_CB_DATA(evt_cb_data, handle, callback, user_data);
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
+
if ((index < 0) || (index > TAPI_NETTEXT_MAX_INDEX)) {
err("Invalid Index Input");
return TAPI_API_INVALID_INPUT;
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(pSCA ,TAPI_API_INVALID_PTR);
- TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
+
if ((index < 0) || (index > TAPI_NETTEXT_MAX_INDEX)) {
err("Invalid Index Input");
return TAPI_API_INVALID_INPUT;
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
MAKE_RESP_CB_DATA(evt_cb_data, handle, callback, user_data);
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(pCBConfig ,TAPI_API_INVALID_PTR);
- TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
- if ((pCBConfig->SelectedId >= 3) || (pCBConfig->MsgIdCount < 0)) {
- err("Invalid Input -SelectedId(%d)",pCBConfig->SelectedId);
- err("Invalid Input -MsgIdCount(%d)",pCBConfig->MsgIdCount);
+
+ if ((pCBConfig->Net3gppType > 2) || (pCBConfig->MsgIdRangeCount < 0)) {
+ err("Invalid Input -3gppType(%d)",pCBConfig->Net3gppType);
+ err("Invalid Input -MsgIdRangeCount(%d)",pCBConfig->MsgIdRangeCount);
return TAPI_API_INVALID_INPUT;
}
MAKE_RESP_CB_DATA(evt_cb_data, handle, callback, user_data);
- encoded_cbConfig = g_base64_encode((const guchar *)&(pCBConfig->MsgIDs[0]), TAPI_NETTEXT_GSM_SMS_CBMI_LIST_SIZE_MAX);
+ encoded_cbConfig = g_base64_encode((const guchar *)&(pCBConfig->MsgIDs[0]), TAPI_NETTEXT_GSM_SMS_CBMI_LIST_SIZE_MAX*5);
if (encoded_cbConfig == NULL) {
dbg("g_base64_encode: Failed to Enocde the CB Config");
return TAPI_API_OPERATION_FAILED;
}
- param = g_variant_new("(iiiis)", pCBConfig->bCBEnabled,
- pCBConfig->SelectedId,
+ param = g_variant_new("(iiiis)", pCBConfig->Net3gppType,
+ pCBConfig->CBEnabled,
pCBConfig->MsgIdMaxCount,
- pCBConfig->MsgIdCount,
+ pCBConfig->MsgIdRangeCount,
encoded_cbConfig);
g_dbus_connection_call(handle->dbus_connection,
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
- TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
if ((memoryStatus < TAPI_NETTEXT_PDA_MEMORY_STATUS_AVAILABLE) || (memoryStatus > TAPI_NETTEXT_PDA_MEMORY_STATUS_FULL)) {
err("Invalid Input -MemoryStatus Nettext");
return TAPI_API_INVALID_INPUT;
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
MAKE_RESP_CB_DATA(evt_cb_data, handle, callback, user_data);
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
- TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
if ((TAPI_NETTEXT_BEARER_PS_ONLY > BearerType) || (TAPI_NETTEXT_NO_PREFERRED_BEARER < BearerType)) {
err("Invalid Input -PrefBearer Set Nettext");
return TAPI_API_INVALID_INPUT;
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(pDataPackage ,TAPI_API_INVALID_PTR);
- TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
MAKE_RESP_CB_DATA(evt_cb_data, handle, callback, user_data);
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
- TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
if ((index < 0) || (index > TAPI_NETTEXT_MAX_INDEX) ||
(msgStatus > TAPI_NETTEXT_STATUS_RESERVED)) {
err("Invalid Input -MsgStatus Set Nettext");
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
+
if ((index < 0) || (index > TAPI_NETTEXT_MAX_INDEX)) {
err("Invalid Input -SMS Param Get Nettext");
return TAPI_API_INVALID_INPUT;
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(pSmsSetParameters ,TAPI_API_INVALID_PTR);
- TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
MAKE_RESP_CB_DATA(evt_cb_data, handle, callback, user_data);
dbg("Func Entrance ");
- TAPI_RET_ERR_NUM_IF_FAIL(handle ,TAPI_API_INVALID_PTR);
TAPI_RET_ERR_NUM_IF_FAIL(callback ,TAPI_API_INVALID_PTR);
MAKE_RESP_CB_DATA(evt_cb_data, handle, callback, user_data);