From: Kyeongchul Kim Date: Tue, 21 Aug 2012 13:08:47 +0000 (+0900) Subject: release tizen_2.0 beta X-Git-Tag: 2.0_alpha^0 X-Git-Url: http://review.tizen.org/git/?p=framework%2Ftelephony%2Ftel-plugin-socket_communicator.git;a=commitdiff_plain;h=a12f78d3ac5450063d9ebd9e392d525a55041764 release tizen_2.0 beta --- diff --git a/common/include/sipc_log.h b/common/include/sipc_log.h index aac69ef..ee341a6 100644 --- a/common/include/sipc_log.h +++ b/common/include/sipc_log.h @@ -18,39 +18,24 @@ * limitations under the License. */ -#ifndef __TPAPI_LOG_H__ -#define __TPAPI_LOG_H__ +#ifndef __TAPI_LOG_H__ +#define __TAPI_LOG_H__ + +#include __BEGIN_DECLS -#define ANSI_COLOR_NORMAL "\e[0m" - -#define ANSI_COLOR_BLACK "\e[0;30m" -#define ANSI_COLOR_RED "\e[0;31m" -#define ANSI_COLOR_GREEN "\e[0;32m" -#define ANSI_COLOR_BROWN "\e[0;33m" -#define ANSI_COLOR_BLUE "\e[0;34m" -#define ANSI_COLOR_MAGENTA "\e[0;35m" -#define ANSI_COLOR_CYAN "\e[0;36m" -#define ANSI_COLOR_LIGHTGRAY "\e[0;37m" - -#define ANSI_COLOR_DARKGRAY "\e[1;30m" -#define ANSI_COLOR_LIGHTRED "\e[1;31m" -#define ANSI_COLOR_LIGHTGREEN "\e[1;32m" -#define ANSI_COLOR_YELLOW "\e[1;33m" -#define ANSI_COLOR_LIGHTBLUE "\e[1;34m" -#define ANSI_COLOR_LIGHTMAGENTA "\e[1;35m" -#define ANSI_COLOR_LIGHTCYAN "\e[1;36m" -#define ANSI_COLOR_WHITE "\e[1;37m" - -#ifndef TELEPHONY_LOG_FILE -#define TELEPHONY_LOG_FILE stdout +#ifndef dbg + +#ifndef TAPI_LOG_TAG +#define TAPI_LOG_TAG "TAPI" #endif -#if 0 -#define msg(fmt,args...) { fprintf(TELEPHONY_LOG_FILE, fmt "\n", ##args); fflush(TELEPHONY_LOG_FILE); } -#define dbg(fmt,args...) { fprintf(TELEPHONY_LOG_FILE, ANSI_COLOR_LIGHTGRAY "<%s:%s> " ANSI_COLOR_NORMAL fmt "\n", __FILE__, __FUNCTION__, ##args); fflush(TELEPHONY_LOG_FILE); } -#define warn(fmt,args...) { fprintf(TELEPHONY_LOG_FILE, ANSI_COLOR_YELLOW "<%s:%s> " ANSI_COLOR_NORMAL fmt "\n", __FILE__, __FUNCTION__, ##args); fflush(TELEPHONY_LOG_FILE); } -#define err(fmt,args...) { fprintf(TELEPHONY_LOG_FILE, ANSI_COLOR_LIGHTRED "<%s:%s> " ANSI_COLOR_NORMAL fmt "\n", __FILE__, __FUNCTION__, ##args); fflush(TELEPHONY_LOG_FILE); } + +#define msg(fmt,args...) { RLOG(LOG_INFO, TAPI_LOG_TAG, fmt "\n", ##args); } +#define dbg(fmt,args...) { RLOG(LOG_DEBUG, TAPI_LOG_TAG, "<%s:%d> " fmt "\n", __func__, __LINE__, ##args); } +#define warn(fmt,args...) { RLOG(LOG_WARN, TAPI_LOG_TAG, "<%s:%d> " fmt "\n", __func__, __LINE__, ##args); } +#define err(fmt,args...) { RLOG(LOG_FATAL, TAPI_LOG_TAG, "<%s:%D> " fmt "\n", __func__, __LINE__, ##args); } + #endif __END_DECLS diff --git a/common/include/sipc_type.h b/common/include/sipc_type.h index 785bc88..e7b35ed 100644 --- a/common/include/sipc_type.h +++ b/common/include/sipc_type.h @@ -57,7 +57,7 @@ typedef enum { SIPC_MARSHAL_DATA_INT_TYPE = G_TYPE_INT, SIPC_MARSHAL_DATA_DOUBLE_TYPE = G_TYPE_DOUBLE, SIPC_MARSHAL_DATA_STRING_TYPE = G_TYPE_STRING, - SIPC_MARSHAL_DATA_OBJECT_TYPE = G_TYPE_BOXED, + SIPC_MARSHAL_DATA_OBJECT_TYPE = G_TYPE_POINTER, SIPC_MARSHAL_DATA_STRING_MAX = 0xFF, } sipc_marshal_data_type_e; diff --git a/common/include/tapi_type.h b/common/include/tapi_type.h index 0c8c401..f01c51d 100644 --- a/common/include/tapi_type.h +++ b/common/include/tapi_type.h @@ -26,7 +26,6 @@ extern "C" { #endif #define TCORE_REQUEST 0x10000000 -//#define TCORE_RESPONSE 0x20000000 #define TCORE_NOTIFICATION 0x30000000 #define TAPI_TYPE_SERVER 0x00200000 @@ -56,22 +55,45 @@ typedef enum { TAPI_SERVICE_CALL = TCORE_REQUEST | TAPI_TYPE_CALL, TAPI_SERVICE_CALL_DIAL, - TAPI_SERVICE_ANSWER, - TAPI_SERVICE_END, - TAPI_SERVICE_HOLD, - TAPI_SERVICE_ACTIVE, - TAPI_SERVICE_SWAP, - TAPI_SERVICE_JOIN, - TAPI_SERVICE_SPLIT, - TAPI_SERVICE_DEFLECT, - TAPI_SERVICE_TRANSFER, - TAPI_SERVICE_SEND_DTMF, - TAPI_SERVICE_SET_SOUND_PATH, - TAPI_SERVICE_GET_SOUND_VOLUME_LEVEL, - TAPI_SERVICE_SET_SOUND_VOLUME_LEVEL, - TAPI_SERVICE_MUTE, - TAPI_SERVICE_UNMUTE, - TAPI_SERVICE_GET_MUTE_STATUS, + TAPI_SERVICE_CALL_ANSWER, + TAPI_SERVICE_CALL_END, + TAPI_SERVICE_CALL_HOLD, + TAPI_SERVICE_CALL_ACTIVE, + TAPI_SERVICE_CALL_SWAP, + TAPI_SERVICE_CALL_JOIN, + TAPI_SERVICE_CALL_SPLIT, + TAPI_SERVICE_CALL_DEFLECT, + TAPI_SERVICE_CALL_TRANSFER, + TAPI_SERVICE_CALL_SEND_DTMF, + TAPI_SERVICE_CALL_SET_SOUND_PATH, + TAPI_SERVICE_CALL_GET_SOUND_VOLUME_LEVEL, + TAPI_SERVICE_CALL_SET_SOUND_VOLUME_LEVEL, + TAPI_SERVICE_CALL_MUTE, + TAPI_SERVICE_CALL_UNMUTE, + TAPI_SERVICE_CALL_GET_MUTE_STATUS, + TAPI_SERVICE_CALL_SET_ACTIVE_LINE, + TAPI_SERVICE_CALL_GET_ACTIVE_LINE, + TAPI_SERVICE_CALL_ACTIVATE_CCBS, + + TAPI_SERVICE_SS = TCORE_REQUEST | TAPI_TYPE_CALL, + TAPI_SERVICE_SS_BARRING_ACTIVATE, + TAPI_SERVICE_SS_BARRING_DEACTIVATE, + TAPI_SERVICE_SS_BARRING_CHANGE_PASSWORD, + TAPI_SERVICE_SS_BARRING_GET_STATUS, + TAPI_SERVICE_SS_FORWARDING_ACTIVATE, + TAPI_SERVICE_SS_FORWARDING_DEACTIVATE, + TAPI_SERVICE_SS_FORWARDING_REGISTER, + TAPI_SERVICE_SS_FORWARDING_DEREGISTER, + TAPI_SERVICE_SS_FORWARDING_GET_STATUS, + TAPI_SERVICE_SS_WAITING_ACTIVATE, + TAPI_SERVICE_SS_WAITING_DEACTIVATE, + TAPI_SERVICE_SS_WAITING_GET_STATUS, + TAPI_SERVICE_SS_CLI_ACTIVATE, + TAPI_SERVICE_SS_CLI_DEACTIVATE, + TAPI_SERVICE_SS_CLI_GET_STATUS, + TAPI_SERVICE_SS_SEND_USSD, + TAPI_SERVICE_SS_SET_AOC, + TAPI_SERVICE_SS_GET_AOC, TAPI_SERVICE_SIM = TCORE_REQUEST | TAPI_TYPE_SIM, TAPI_SERVICE_SIM_GET_SIMINITINFO, @@ -88,6 +110,8 @@ typedef enum { TAPI_SERVICE_SIM_GET_MB, TAPI_SERVICE_SIM_SET_MB, TAPI_SERVICE_SIM_GET_CPHSINFO, + TAPI_SERVICE_SIM_GET_MSISDN, + TAPI_SERVICE_SIM_GET_OPLMNWACT, TAPI_SERVICE_SIM_AUTHENTICATION, TAPI_SERVICE_SIM_VERIFYSEC, TAPI_SERVICE_SIM_VERIFYPUK, @@ -99,19 +123,26 @@ typedef enum { TAPI_SERVICE_SIM_ATR, TAPI_SERVICE_SAP = TCORE_REQUEST | TAPI_TYPE_SAP, - TAPI_SERVICE_SAP_CONNECT, - TAPI_SERVICE_SAP_DISCONNECT, - TAPI_SERVICE_SAP_GET_CONNECTSTATUS, - TAPI_SERVICE_SAP_GET_ATR, + TAPI_SERVICE_SAP_REQ_CONNECT, + TAPI_SERVICE_SAP_REQ_DISCONNECT, + TAPI_SERVICE_SAP_REQ_STATUS, + TAPI_SERVICE_SAP_REQ_ATR, TAPI_SERVICE_SAP_TRANSFER_APDU, TAPI_SERVICE_SAP_SET_PROTOCOL, TAPI_SERVICE_SAP_SET_POWER, - TAPI_SERVICE_SAP_GET_READERSTATUS, + TAPI_SERVICE_SAP_REQ_CARDREADERSTATUS, + + TAPI_SERVICE_SAT = TCORE_REQUEST | TAPI_TYPE_SAT, + TAPI_SERVICE_SAT_MENU_SELECTION_ENVELOP, + TAPI_SERVICE_SAT_SEND_EVENT_DOWNLOAD, + TAPI_SERVICE_SAT_UI_USER_CONFIRM, + TAPI_SERVICE_SAT_SEND_APP_EXEC_RESULT, + TAPI_SERVICE_SAT_GET_MAIN_MENU_INFO, + TAPI_SERVICE_SAT_UI_DISPLAY_STATUS, TAPI_SERVICE_PB = TCORE_REQUEST | TAPI_TYPE_PHONEBOOK, - TAPI_SERVICE_PB_GET_INITINFO, TAPI_SERVICE_PB_GET_COUNT, - TAPI_SERVICE_PB_GET_META, + TAPI_SERVICE_PB_GET_METAINFO, TAPI_SERVICE_PB_READ_RECORD, TAPI_SERVICE_PB_UPDATE_RECORD, TAPI_SERVICE_PB_DELETE_RECORD, @@ -170,8 +201,37 @@ typedef enum { TAPI_NOTI_CALL_STATUS_ALERT, TAPI_NOTI_CALL_STATUS_INCOMING, TAPI_NOTI_CALL_STATUS_WAITING, - TAPI_NOTI_CALL_FORWARD, - TAPI_NOTI_CALL_BARRING, + TAPI_NOTI_CALL_INFO_CALL_CONNECTED_LINE, + TAPI_NOTI_CALL_INFO_WAITING, + TAPI_NOTI_CALL_INFO_CUG, + TAPI_NOTI_CALL_INFO_FORWARDED, + TAPI_NOTI_CALL_INFO_BARRED_INCOMING, + TAPI_NOTI_CALL_INFO_BARRED_OUTGOING, + TAPI_NOTI_CALL_INFO_DEFLECTED, + TAPI_NOTI_CALL_INFO_CLIR_SUPPRESSION_REJECT, + TAPI_NOTI_CALL_INFO_FORWARD_UNCONDITIONAL, + TAPI_NOTI_CALL_INFO_FORWARD_CONDITIONAL, + TAPI_NOTI_CALL_INFO_CALL_LINE_IDENTITY, + TAPI_NOTI_CALL_INFO_CALL_NAME_INFORMATION, + TAPI_NOTI_CALL_INFO_FORWARDED_CALL, + TAPI_NOTI_CALL_INFO_CUG_CALL, + TAPI_NOTI_CALL_INFO_DEFLECTED_CALL, + TAPI_NOTI_CALL_INFO_TRANSFERED_CALL, + TAPI_NOTI_CALL_INFO_HELD, + TAPI_NOTI_CALL_INFO_ACTIVE, + TAPI_NOTI_CALL_INFO_JOINED, + TAPI_NOTI_CALL_INFO_RELEASED_ON_HOLD, + TAPI_NOTI_CALL_INFO_TRANSFER_ALERT, + TAPI_NOTI_CALL_INFO_TRANSFERED, + TAPI_NOTI_CALL_INFO_CF_CHECK_MESSAGE, + + TAPI_NOTI_SS = TCORE_NOTIFICATION | TAPI_TYPE_SS, + TAPI_NOTI_SS_INFO, + TAPI_NOTI_SS_USSD, + + TAPI_NOTI_MODEM = TCORE_NOTIFICATION | TAPI_TYPE_MODEM, + TAPI_NOTI_MODEM_POWER, + TAPI_NOTI_MODEM_FLIGHT_MODE, TAPI_NOTI_SIM = TCORE_NOTIFICATION | TAPI_TYPE_SIM, TAPI_NOTI_SIM_STATUS, @@ -180,6 +240,13 @@ typedef enum { TAPI_NOTI_SAP_STATUS, TAPI_NOTI_SAP_DISCONNECT, + TAPI_NOTI_SAT = TCORE_NOTIFICATION | TAPI_TYPE_SAT, + TAPI_NOTI_SAT_SETUP_MENU, + TAPI_NOTI_SAT_DISPLAY_TEXT, + TAPI_NOTI_SAT_SELECT_ITEM, + TAPI_NOTI_SAT_GET_INKEY, + TAPI_NOTI_SAT_GET_INPUT, + TAPI_NOTI_PB = TCORE_NOTIFICATION | TAPI_TYPE_PHONEBOOK, TAPI_NOTI_PB_STATUS, @@ -189,10 +256,14 @@ typedef enum { TAPI_NOTI_NETWORK_ICON_INFO, TAPI_NOTI_NETWORK_CHANGE, TAPI_NOTI_NETWORK_TIMEINFO, + TAPI_NOTI_NETWORK_IDENTITY, TAPI_NOTI_PS = TCORE_NOTIFICATION | TAPI_TYPE_PS, + TAPI_NOTI_PS_CALL_STATUS, + TAPI_NOTI_PS_PDP_IPCONFIGURATION, TAPI_NOTI_PS_DUN_PIN_CONTROL, TAPI_NOTI_PS_EXTERNAL_CALL, + TAPI_NOTI_PS_PROTOCOL_STATUS, TAPI_NOTI_SMS = TCORE_NOTIFICATION | TAPI_TYPE_SMS, TAPI_NOTI_SMS_INCOM_MSG, /* This is an unsolicited Incoming SMS Event*/ @@ -219,7 +290,7 @@ typedef enum { typedef struct _tapi_handle tapi_handle_t; typedef struct _tapi_service_object tapi_service_object_t; -typedef gboolean (*tapi_cb)(tapi_service_object_t *data, void *cb_data); +typedef gboolean (*tapi_cb)(const tapi_service_object_t *data, void *cb_data); #ifdef __cplusplus } diff --git a/common/src/sipc_channel.c b/common/src/sipc_channel.c index 126c052..714e559 100644 --- a/common/src/sipc_channel.c +++ b/common/src/sipc_channel.c @@ -30,6 +30,10 @@ #include "sipc_common.h" #include "sipc.h" +#ifndef dbg +#include "tapi_log.h" +#endif + struct _sipc_channel_key { unsigned int id; int fd; diff --git a/common/src/sipc_marshal.c b/common/src/sipc_marshal.c index d8397ce..124e7e1 100644 --- a/common/src/sipc_marshal.c +++ b/common/src/sipc_marshal.c @@ -37,8 +37,8 @@ static void _sipc_util_remove_hashtable_value(gpointer value) struct _sipc_marshal_object *tmp_obj = value; gtype = ((GValue *) value)->g_type; - if (gtype == G_TYPE_HASH_TABLE) { - tmp_obj = g_value_get_boxed(value); + if (gtype == G_TYPE_POINTER) { + tmp_obj = g_value_get_pointer(value); g_hash_table_destroy(tmp_obj->ht); } @@ -76,8 +76,8 @@ static gboolean _sipc_util_create_gvalue(GValue *value, const void *data, sipc_m break; case SIPC_MARSHAL_DATA_OBJECT_TYPE: - g_value_init(value, G_TYPE_HASH_TABLE); - g_value_set_boxed(value, (gpointer) data); + g_value_init(value, type); + g_value_set_pointer(value, (gpointer) data); break; default: @@ -120,9 +120,8 @@ static gboolean _sipc_util_return_value(GValue *src, void **dest, sipc_marshal_d case SIPC_MARSHAL_DATA_OBJECT_TYPE: tmp = g_new0(struct _sipc_marshal_object, 1); - tmp->ht = g_value_dup_boxed(src); + tmp->ht = g_value_get_pointer(src); *dest = tmp; - //*dest = g_value_dup_boxed(src); break; default: @@ -138,7 +137,7 @@ static gboolean _sipc_util_str_to_type(GValue *src, GValue *dest, unsigned int d gboolean rv = FALSE; if(dest_type == G_TYPE_HASH_TABLE) - dest_type = G_TYPE_BOXED; + dest_type = G_TYPE_POINTER; switch (dest_type) { case G_TYPE_INT: { @@ -165,10 +164,10 @@ static gboolean _sipc_util_str_to_type(GValue *src, GValue *dest, unsigned int d g_value_set_double(dest, tmp); } break; - case G_TYPE_BOXED:{ + case G_TYPE_POINTER:{ GHashTable* tmp; tmp = _sipc_util_marshal_object_deserializer(g_value_get_string(src)); - g_value_set_boxed(dest, tmp); + g_value_set_pointer(dest, tmp); } break; default: { @@ -186,7 +185,9 @@ static GHashTable* _sipc_util_marshal_object_deserializer(const gchar *inparam) gchar **tuple = NULL; GHashTable *ht = NULL; - ht = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, _sipc_util_remove_hashtable_value); + ht = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, + _sipc_util_remove_hashtable_value); + if (strlen(inparam) == 0) { return ht; } @@ -239,16 +240,17 @@ gboolean sipc_util_marshal_object_add_data(struct _sipc_marshal_object *mo, cons SIPC_CHECK_DATA_NULL( (mo&&key&&data), FALSE); - dbg("key=%s, data type (%d)", key, type); if (type >= SIPC_MARSHAL_DATA_STRING_MAX) return FALSE; value = g_new0(GValue, 1); - if(type != SIPC_MARSHAL_DATA_OBJECT_TYPE) + if (type != SIPC_MARSHAL_DATA_OBJECT_TYPE) { rv = _sipc_util_create_gvalue(value, data, type); - else - rv = _sipc_util_create_gvalue(value, ((struct _sipc_marshal_object*)data)->ht, type); + } + else { + rv = _sipc_util_create_gvalue(value, (struct _sipc_marshal_object*) data, type); + } if (!rv) return FALSE; @@ -396,18 +398,17 @@ gchar* sipc_util_marshal_object_serializer(struct _sipc_marshal_object *mo) unsigned int gtype = 0; gchar *tmp = NULL, *encoded_d = NULL; GValue gval = { 0, { { 0 } } }; + g_value_init(&gval, G_TYPE_STRING); gtype = ((GValue *) value)->g_type; - if (gtype != G_TYPE_HASH_TABLE) { + if (gtype != G_TYPE_POINTER) { g_value_transform((GValue *) value, &gval); tmp = g_value_dup_string(&gval); - dbg("gtype = %d, tmp = [%s]", gtype, tmp); } else { struct _sipc_marshal_object *tmp_obj; - tmp_obj = g_value_get_boxed((GValue *) value); - dbg("tmp_obj.ht = %p", tmp_obj->ht); + tmp_obj = g_value_get_pointer((GValue *) value); tmp = sipc_util_marshal_object_serializer(tmp_obj); } @@ -422,6 +423,7 @@ gchar* sipc_util_marshal_object_serializer(struct _sipc_marshal_object *mo) rv_str = g_strdup(gstring_tmp->str); g_string_free(gstring_tmp, TRUE); + dbg("serialized string [%s]", rv_str); return rv_str; } diff --git a/common/src/sipc_server.c b/common/src/sipc_server.c index ae9dab3..ab40179 100644 --- a/common/src/sipc_server.c +++ b/common/src/sipc_server.c @@ -160,6 +160,7 @@ static int _server_send(int fd, struct _sipc_header *h, const void *data) ret = send(fd, p, p_len, MSG_NOSIGNAL); if (ret < 0) { + dbg("send() ret = %d, fd = %d, p = %p, p_len = %d", fd, ret, p, p_len); g_free(p); return -1; } @@ -246,34 +247,17 @@ static gboolean _server_io_inspector(GIOChannel *ch, GIOCondition con, gpointer int fd = 0; fd = g_io_channel_unix_get_fd(ch); - switch (con) { - case G_IO_IN: - _server_recv(fd, (struct _sipc_server*) data); - return TRUE; - - case G_IO_OUT: - // data can be written ( without blocking ) - case G_IO_PRI: - // there is urgent data to read - case G_IO_ERR: - // error condition - case G_IO_HUP: - // hung up ( the connection has been broken, usually for pipe and sockets ) - - // close channel - dbg("channel has been changed"); - return FALSE; - - case G_IO_NVAL: - dbg("Invalid channel action happened"); - return FALSE; + if (con & G_IO_IN) { + _server_recv(fd, (struct _sipc_server*) data); + } - default: - // unknown err - break; + if (con & G_IO_HUP) { + // TODO: close channel + dbg("channel has been changed"); + return FALSE; } - return FALSE; + return TRUE; } static gboolean _server_register_channel(struct _sipc_channel *ch, struct _sipc_server *s) @@ -486,6 +470,8 @@ gboolean sipc_server_broadcast(struct _sipc_server *s, const void *data, unsigne SIPC_CHECK_DATA_NULL( s, FALSE); + dbg("client count = %d", g_slist_length(s->rx_chs)); + list = s->rx_chs; while (list) { c = (struct _sipc_channel *) list->data; diff --git a/libclient/CMakeLists.txt b/libclient/CMakeLists.txt index 7a3a8c3..885ceb7 100644 --- a/libclient/CMakeLists.txt +++ b/libclient/CMakeLists.txt @@ -8,7 +8,7 @@ SET(INCLUDEDIR "\${prefix}/include") # Set required packages INCLUDE(FindPkgConfig) -pkg_check_modules(pkgs REQUIRED glib-2.0 tcore security-server) +pkg_check_modules(pkgs REQUIRED glib-2.0 tcore security-server dlog) FOREACH(flag ${pkgs_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") diff --git a/libclient/debian/changelog b/libclient/debian/changelog index c028ad1..cf1d4a5 100644 --- a/libclient/debian/changelog +++ b/libclient/debian/changelog @@ -1,7 +1,7 @@ libsocket-comm-client (0.1.0) unstable; urgency=low * Initial - * Git: pkgs/t/tel-plugin-socket_communicator + * Git: slp/pkgs/t/tel-plugin-socket_communicator * Tag: libsocket-comm-client_0.1.0 -- Inho Oh Thu, 15 Mar 2012 23:40:55 +0900 diff --git a/libclient/include/tapi_sipc.h b/libclient/include/tapi_sipc.h index 8881bf3..e01bb22 100644 --- a/libclient/include/tapi_sipc.h +++ b/libclient/include/tapi_sipc.h @@ -31,15 +31,16 @@ tapi_handle_t* tapi_init( char *app_name, char *cp_name ); gboolean tapi_deinit( tapi_handle_t *h ); gboolean tapi_register_notification( tapi_handle_t *h, tapi_service_notification_e noti, tapi_cb cb, void *cb_data); -tapi_service_object_t* tapi_create_service_object(tapi_service_command_e cmd); +tapi_service_object_t* tapi_create_service_object(tapi_service_command_e cmd); gboolean tapi_service_object_add_data(tapi_service_object_t* obj, const gchar* key, void *in_data, tapi_object_data_type_e type); -gboolean tapi_service_object_get_data(tapi_service_object_t* obj, const gchar* key, void **out_data, tapi_object_data_type_e type); -gchar tapi_service_object_get_char(tapi_service_object_t* obj, const gchar* key); -gboolean tapi_service_object_get_boolean(tapi_service_object_t* obj, const gchar* key); -gint tapi_service_object_get_int(tapi_service_object_t* obj, const gchar* key); -gdouble tapi_service_object_get_double(tapi_service_object_t* obj, const gchar* key); -gchar* tapi_service_object_get_string(tapi_service_object_t* obj, const gchar* key); -tapi_service_object_t* tapi_service_object_get_object(tapi_service_object_t* obj, const gchar* key); +gboolean tapi_service_object_get_data(const tapi_service_object_t* obj, const gchar* key, void **out_data, tapi_object_data_type_e type); +gchar tapi_service_object_get_char(const tapi_service_object_t* obj, const gchar* key); +gboolean tapi_service_object_get_boolean(const tapi_service_object_t* obj, const gchar* key); +gint tapi_service_object_get_int(const tapi_service_object_t* obj, const gchar* key); +gdouble tapi_service_object_get_double(const tapi_service_object_t* obj, const gchar* key); +gchar* tapi_service_object_get_string(const tapi_service_object_t* obj, const gchar* key); +tapi_service_command_e tapi_service_object_get_command(const struct _tapi_service_object* obj); +tapi_service_object_t* tapi_service_object_get_object(const tapi_service_object_t* obj, const gchar* key); gboolean tapi_service_object_remove_data(tapi_service_object_t* obj, const gchar* key); gboolean tapi_service_object_remove_alldata(tapi_service_object_t* obj); gboolean tapi_service_object_destory(tapi_service_object_t* obj); diff --git a/libclient/src/tapi_common_sipc.c b/libclient/src/tapi_common_sipc.c index 9675bdb..a34b826 100644 --- a/libclient/src/tapi_common_sipc.c +++ b/libclient/src/tapi_common_sipc.c @@ -22,6 +22,7 @@ #include #include +#include "sipc_log.h" #include "tapi_common_sipc.h" static sipc_marshal_data_type_e _convert_marshal_data_type(tapi_object_data_type_e type) @@ -99,7 +100,7 @@ gboolean _tapi_service_object_add_data(struct _tapi_service_object *so, const gc return sipc_util_marshal_object_add_data(so->mo, key, ((struct _tapi_service_object *)data)->mo , _convert_marshal_data_type(type) ); } -gboolean _tapi_service_object_get_data(struct _tapi_service_object *so, const gchar* key, void **data, tapi_object_data_type_e type) +gboolean _tapi_service_object_get_data(const struct _tapi_service_object *so, const gchar* key, void **data, tapi_object_data_type_e type) { if(type == TAPI_OBJECT_DATA_TYPE_OBJECT){ *data = g_new0( struct _tapi_service_object, 1 ); @@ -111,32 +112,32 @@ gboolean _tapi_service_object_get_data(struct _tapi_service_object *so, const gc return sipc_util_marshal_object_get_data(so->mo, key, data, _convert_marshal_data_type(type) ); } -gchar _tapi_service_object_get_char(struct _tapi_service_object *so, const gchar* key) +gchar _tapi_service_object_get_char(const struct _tapi_service_object *so, const gchar* key) { return sipc_util_marshal_object_get_char(so->mo, key); } -gboolean _tapi_service_object_get_boolean(struct _tapi_service_object *so, const gchar* key) +gboolean _tapi_service_object_get_boolean(const struct _tapi_service_object *so, const gchar* key) { return sipc_util_marshal_object_get_boolean(so->mo, key); } -gint _tapi_service_object_get_int(struct _tapi_service_object *so, const gchar* key) +gint _tapi_service_object_get_int(const struct _tapi_service_object *so, const gchar* key) { return sipc_util_marshal_object_get_int(so->mo, key); } -gdouble _tapi_service_object_get_double(struct _tapi_service_object *so, const gchar* key) +gdouble _tapi_service_object_get_double(const struct _tapi_service_object *so, const gchar* key) { return sipc_util_marshal_object_get_double(so->mo, key); } -gchar* _tapi_service_object_get_string(struct _tapi_service_object *so, const gchar* key) +gchar* _tapi_service_object_get_string(const struct _tapi_service_object *so, const gchar* key) { return sipc_util_marshal_object_get_string(so->mo, key); } -struct _tapi_service_object* _tapi_service_object_get_object(struct _tapi_service_object *so, const gchar* key) +struct _tapi_service_object* _tapi_service_object_get_object(const struct _tapi_service_object *so, const gchar* key) { struct _tapi_service_object *rvalue = 0; rvalue = g_new0( struct _tapi_service_object, 1 ); @@ -157,9 +158,9 @@ struct _tapi_service_object* _tapi_service_object_extract_async_data(const gchar so = g_new0( struct _tapi_service_object, 1 ); so->cmd = 0; - so->mo = _tapi_service_object_deserializer(data); - if ( !so->mo ) { - g_free( so ); + so->mo = _tapi_service_object_deserializer(data); + if (!so->mo) { + g_free(so); return NULL; } diff --git a/libclient/src/tapi_common_sipc.h b/libclient/src/tapi_common_sipc.h index b010f6b..368d5d5 100644 --- a/libclient/src/tapi_common_sipc.h +++ b/libclient/src/tapi_common_sipc.h @@ -35,14 +35,14 @@ extern "C" { struct _tapi_service_object* _tapi_service_object_create( tapi_service_command_e c ); gboolean _tapi_service_object_add_data(struct _tapi_service_object *so, const gchar* key, void *in_data, tapi_object_data_type_e type); -gboolean _tapi_service_object_get_data(struct _tapi_service_object *so, const gchar* key, +gboolean _tapi_service_object_get_data(const struct _tapi_service_object *so, const gchar* key, void **out_data, tapi_object_data_type_e type); -gchar _tapi_service_object_get_char(struct _tapi_service_object *so, const gchar* key); -gboolean _tapi_service_object_get_boolean(struct _tapi_service_object *so, const gchar* key); -gint _tapi_service_object_get_int(struct _tapi_service_object *so, const gchar* key); -gdouble _tapi_service_object_get_double(struct _tapi_service_object *so, const gchar* key); -gchar* _tapi_service_object_get_string(struct _tapi_service_object *so, const gchar* key); -struct _tapi_service_object* _tapi_service_object_get_object(struct _tapi_service_object *so, const gchar* key); +gchar _tapi_service_object_get_char(const struct _tapi_service_object *so, const gchar* key); +gboolean _tapi_service_object_get_boolean(const struct _tapi_service_object *so, const gchar* key); +gint _tapi_service_object_get_int(const struct _tapi_service_object *so, const gchar* key); +gdouble _tapi_service_object_get_double(const struct _tapi_service_object *so, const gchar* key); +gchar* _tapi_service_object_get_string(const struct _tapi_service_object *so, const gchar* key); +struct _tapi_service_object* _tapi_service_object_get_object(const struct _tapi_service_object *so, const gchar* key); struct _tapi_service_object* _tapi_service_object_extract_async_data(const gchar *data); gboolean _tapi_service_object_remove_data(struct _tapi_service_object *so, const gchar* key); gboolean _tapi_service_object_remove_alldata(struct _tapi_service_object *so); diff --git a/libclient/src/tapi_log.h b/libclient/src/tapi_log.h deleted file mode 100644 index f014572..0000000 --- a/libclient/src/tapi_log.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * tel-plugin-socket-communicator - * - * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Ja-young Gu - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __TPAPI_LOG_H__ -#define __TPAPI_LOG_H__ - -__BEGIN_DECLS - -#define ANSI_COLOR_NORMAL "\e[0m" - -#define ANSI_COLOR_BLACK "\e[0;30m" -#define ANSI_COLOR_RED "\e[0;31m" -#define ANSI_COLOR_GREEN "\e[0;32m" -#define ANSI_COLOR_BROWN "\e[0;33m" -#define ANSI_COLOR_BLUE "\e[0;34m" -#define ANSI_COLOR_MAGENTA "\e[0;35m" -#define ANSI_COLOR_CYAN "\e[0;36m" -#define ANSI_COLOR_LIGHTGRAY "\e[0;37m" - -#define ANSI_COLOR_DARKGRAY "\e[1;30m" -#define ANSI_COLOR_LIGHTRED "\e[1;31m" -#define ANSI_COLOR_LIGHTGREEN "\e[1;32m" -#define ANSI_COLOR_YELLOW "\e[1;33m" -#define ANSI_COLOR_LIGHTBLUE "\e[1;34m" -#define ANSI_COLOR_LIGHTMAGENTA "\e[1;35m" -#define ANSI_COLOR_LIGHTCYAN "\e[1;36m" -#define ANSI_COLOR_WHITE "\e[1;37m" - -#ifndef TELEPHONY_LOG_FILE -#define TELEPHONY_LOG_FILE stdout -#endif - -#define msg(fmt,args...) fprintf(TELEPHONY_LOG_FILE, fmt "\n", ##args); fflush(TELEPHONY_LOG_FILE); -#define dbg(fmt,args...) fprintf(TELEPHONY_LOG_FILE, ANSI_COLOR_LIGHTGRAY "<%s:%s> " ANSI_COLOR_NORMAL fmt "\n", __FILE__, __FUNCTION__, ##args); fflush(TELEPHONY_LOG_FILE); -#define warn(fmt,args...) fprintf(TELEPHONY_LOG_FILE, ANSI_COLOR_YELLOW "<%s:%s> " ANSI_COLOR_NORMAL fmt "\n", __FILE__, __FUNCTION__, ##args); fflush(TELEPHONY_LOG_FILE); -#define err(fmt,args...) fprintf(TELEPHONY_LOG_FILE, ANSI_COLOR_LIGHTRED "<%s:%s> " ANSI_COLOR_NORMAL fmt "\n", __FILE__, __FUNCTION__, ##args); fflush(TELEPHONY_LOG_FILE); - - -__END_DECLS - -#endif diff --git a/libclient/src/tapi_sipc.c b/libclient/src/tapi_sipc.c index e5cf781..1d6d9b3 100644 --- a/libclient/src/tapi_sipc.c +++ b/libclient/src/tapi_sipc.c @@ -24,6 +24,7 @@ #include #include +#include "sipc_log.h" #include "tapi_common_sipc.h" #include "tapi_sipc.h" @@ -235,7 +236,15 @@ gboolean tapi_service_object_add_data(struct _tapi_service_object* obj, const gc return TRUE; } -gboolean tapi_service_object_get_data(struct _tapi_service_object* obj, const gchar* key, void **out_data, +tapi_service_command_e tapi_service_object_get_command(const struct _tapi_service_object* obj) +{ + if (!obj) + return TAPI_SERVICE_UNKNOWN; + + return obj->cmd; +} + +gboolean tapi_service_object_get_data(const struct _tapi_service_object* obj, const gchar* key, void **out_data, tapi_object_data_type_e type) { gboolean rv = FALSE; @@ -247,32 +256,32 @@ gboolean tapi_service_object_get_data(struct _tapi_service_object* obj, const gc return TRUE; } -gchar tapi_service_object_get_char(tapi_service_object_t* obj, const gchar* key) +gchar tapi_service_object_get_char(const tapi_service_object_t* obj, const gchar* key) { return _tapi_service_object_get_char(obj, key); } -gboolean tapi_service_object_get_boolean(tapi_service_object_t* obj, const gchar* key) +gboolean tapi_service_object_get_boolean(const tapi_service_object_t* obj, const gchar* key) { return _tapi_service_object_get_boolean(obj, key); } -gint tapi_service_object_get_int(tapi_service_object_t* obj, const gchar* key) +gint tapi_service_object_get_int(const tapi_service_object_t* obj, const gchar* key) { return _tapi_service_object_get_int(obj, key); } -gdouble tapi_service_object_get_double(tapi_service_object_t* obj, const gchar* key) +gdouble tapi_service_object_get_double(const tapi_service_object_t* obj, const gchar* key) { return _tapi_service_object_get_double(obj, key); } -gchar* tapi_service_object_get_string(tapi_service_object_t* obj, const gchar* key) +gchar* tapi_service_object_get_string(const tapi_service_object_t* obj, const gchar* key) { return _tapi_service_object_get_string(obj, key); } -struct _tapi_service_object* tapi_service_object_get_object(tapi_service_object_t* obj, const gchar* key) +struct _tapi_service_object* tapi_service_object_get_object(const tapi_service_object_t* obj, const gchar* key) { return _tapi_service_object_get_object(obj, key); } diff --git a/packaging/unused b/packaging/unused deleted file mode 100644 index 5364927..0000000 --- a/packaging/unused +++ /dev/null @@ -1 +0,0 @@ -this package is not used in OBS diff --git a/plugin/CMakeLists.txt b/plugin/CMakeLists.txt index e2820c8..5279b89 100644 --- a/plugin/CMakeLists.txt +++ b/plugin/CMakeLists.txt @@ -8,7 +8,7 @@ SET(INCLUDEDIR "\${prefix}/include") # Set required packages INCLUDE(FindPkgConfig) -pkg_check_modules(pkgs REQUIRED glib-2.0 tcore security-server aul) +pkg_check_modules(pkgs REQUIRED glib-2.0 tcore security-server aul dlog) FOREACH(flag ${pkgs_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") @@ -18,6 +18,9 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/ ${CMAKE_SOURCE_DIR}/../common/i SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Werror -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wmissing-declarations -Wredundant-decls -Wcast-align") +ADD_DEFINITIONS("-DFEATURE_DLOG_DEBUG") +ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"PLG_TAPI\"") + MESSAGE(${CMAKE_C_FLAGS}) MESSAGE(${CMAKE_EXE_LINKER_FLAGS}) @@ -27,6 +30,7 @@ SET(SRCS ../common/src/sipc_marshal.c src/desc-sipc.c src/socket_sim.c + src/socket_sat.c src/socket_sap.c src/socket_pb.c src/socket_ps.c diff --git a/plugin/debian/changelog b/plugin/debian/changelog index 9674311..5c9e501 100644 --- a/plugin/debian/changelog +++ b/plugin/debian/changelog @@ -1,7 +1,7 @@ tel-plugin-socket-communicator (0.1.0) unstable; urgency=low * Initial - * Git: pkgs/t/tel-plugin-socket_communicator + * Git: slp/pkgs/t/tel-plugin-socket_communicator * Tag: tel-plugin-socket-communicator_0.1.0-1 -- Inho Oh Thu, 15 Mar 2012 23:40:55 +0900 diff --git a/plugin/src/desc-sipc.c b/plugin/src/desc-sipc.c index 1d0d753..30dd020 100644 --- a/plugin/src/desc-sipc.c +++ b/plugin/src/desc-sipc.c @@ -58,6 +58,11 @@ static int _dispatch_service_request(unsigned int ch_id, struct _tapi_header *hd scomm_service_reqeust_sim(ch_id, d->comm, plugin, hdr->cmd, data, outparam); break; + case TCORE_TYPE_SAT: + dbg("sat request"); + scomm_service_reqeust_sat(ch_id, d->comm, plugin, hdr->cmd, data, outparam); + break; + case TCORE_TYPE_SAP: dbg("sap request"); scomm_service_reqeust_sap(ch_id, d->comm, plugin, hdr->cmd, data, outparam); diff --git a/plugin/src/module_req.h b/plugin/src/module_req.h index 0b44715..d41bf25 100644 --- a/plugin/src/module_req.h +++ b/plugin/src/module_req.h @@ -55,6 +55,13 @@ gboolean scomm_service_response_sim(Communicator *comm, UserRequest *ur, enum tc gboolean scomm_service_notification_sim(Communicator *comm, CoreObject *source, enum tcore_notification_command command, unsigned int data_len, const void *data); +gboolean scomm_service_reqeust_sat(unsigned int ch_id, Communicator *c, TcorePlugin *plugin, + tapi_service_command_e cmd, gchar *data, void **outparam); +gboolean scomm_service_response_sat(Communicator *comm, UserRequest *ur, + enum tcore_response_command command, unsigned int data_len, const void *data); +gboolean scomm_service_notification_sat(Communicator *comm, CoreObject *source, + enum tcore_notification_command command, unsigned int data_len, const void *data); + gboolean scomm_service_reqeust_sap(unsigned int ch_id, Communicator *c, TcorePlugin *plugin, tapi_service_command_e cmd, gchar *data, void **outparam); gboolean scomm_service_response_sap(Communicator *comm, UserRequest *ur, enum tcore_response_command command, diff --git a/plugin/src/socket_call.c b/plugin/src/socket_call.c index b76600a..31095b2 100644 --- a/plugin/src/socket_call.c +++ b/plugin/src/socket_call.c @@ -41,6 +41,9 @@ #include "tapi_common.h" #include "module_req.h" +static void _launch_voice_call( struct tnoti_call_status_incoming* incoming ); +static void _launch_video_call( struct tnoti_call_status_incoming* incoming ); + gboolean scomm_service_reqeust_call(unsigned int ch_id, Communicator *c, TcorePlugin *plugin, tapi_service_command_e cmd, gchar *data, void **outparam) { int ret = 0; @@ -83,259 +86,226 @@ gboolean scomm_service_reqeust_call(unsigned int ch_id, Communicator *c, TcorePl switch (cmd) { case TAPI_SERVICE_CALL_DIAL: { struct treq_call_dial data; - /* - * COMMON CODE - * get_data from in_obj - * - * ONLY SYNC API & RETURN DATA - * out_obj = sipc_util_marshal_object_create(); - * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - * - * serial_d = sipc_util_marshal_object_serializer(out_obj); - * s_data_len = strlen(serial_d); - * sipc_util_marshal_object_destory(out_obj); - * - * *outparam = g_new0(char, s_data_len); - * memcpy(*outparam, serial_d, hdr.s_data_len); - * g_free(serial_d); - * return; - * - */ + gchar *type = 0; + gchar *number = 0; + + type = sipc_util_marshal_object_get_string(in_obj, "call_type"); + number = sipc_util_marshal_object_get_string(in_obj, "call_number"); + + data.type = (enum telephony_call_type)*type; + + if ( !number ) { + dbg("[ error ] number : 0"); + result = FALSE; + goto RETURN; + } + + memcpy( data.number, number, MAX_CALL_DIAL_NUM_LEN ); + tcore_user_request_set_data(ur, sizeof( struct treq_call_dial ), &data); tcore_user_request_set_command(ur, TREQ_CALL_DIAL); - }break; - case TAPI_SERVICE_ANSWER: { + + } break; + + case TAPI_SERVICE_CALL_ANSWER: { struct treq_call_answer data; - /* - * COMMON CODE - * get_data from in_obj - * - * ONLY SYNC API & RETURN DATA - * out_obj = sipc_util_marshal_object_create(); - * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - * - * serial_d = sipc_util_marshal_object_serializer(out_obj); - * s_data_len = strlen(serial_d); - * sipc_util_marshal_object_destory(out_obj); - * - * *outparam = g_new0(char, s_data_len); - * memcpy(*outparam, serial_d, hdr.s_data_len); - * g_free(serial_d); - * return; - * - */ + + gchar *id = 0; + gchar *type = 0; + + id = sipc_util_marshal_object_get_string(in_obj, "call_id"); + type = sipc_util_marshal_object_get_string(in_obj, "answer_type"); + + data.id = (unsigned int)*id; + data.type = (enum telephony_call_answer_type)*type; + tcore_user_request_set_data(ur, sizeof( struct treq_call_answer ), &data); tcore_user_request_set_command(ur, TREQ_CALL_ANSWER); }break; - case TAPI_SERVICE_END: { - //TAPI_CS_CALL_RELEASEALL - //TAPI_CS_CALL_RELEASEALL_ACTIVE - //TAPI_CS_CALL_RELEASEALL_HELD + + case TAPI_SERVICE_CALL_END: { struct treq_call_end data; - /* - * COMMON CODE - * get_data from in_obj - * - * ONLY SYNC API & RETURN DATA - * out_obj = sipc_util_marshal_object_create(); - * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - * - * serial_d = sipc_util_marshal_object_serializer(out_obj); - * s_data_len = strlen(serial_d); - * sipc_util_marshal_object_destory(out_obj); - * - * *outparam = g_new0(char, s_data_len); - * memcpy(*outparam, serial_d, hdr.s_data_len); - * g_free(serial_d); - * return; - * - */ + + gchar *id = 0; + gchar *type = 0; + + id = sipc_util_marshal_object_get_string(in_obj, "call_id"); + type = sipc_util_marshal_object_get_string(in_obj, "end_type"); + + data.id = (unsigned int)*id; + data.type = (enum telephony_call_end_type)*type; + tcore_user_request_set_data(ur, sizeof( struct treq_call_end ), &data); tcore_user_request_set_command(ur, TREQ_CALL_END); }break; - //TAPI_CS_CALL_DTMF - - case TAPI_SERVICE_HOLD: { - unsigned int id = 0; - /* - * COMMON CODE - * get_data from in_obj - * - * ONLY SYNC API & RETURN DATA - * out_obj = sipc_util_marshal_object_create(); - * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - * - * serial_d = sipc_util_marshal_object_serializer(out_obj); - * s_data_len = strlen(serial_d); - * sipc_util_marshal_object_destory(out_obj); - * - * *outparam = g_new0(char, s_data_len); - * memcpy(*outparam, serial_d, hdr.s_data_len); - * g_free(serial_d); - * return; - * - */ - tcore_user_request_set_data(ur, sizeof( unsigned int ), &id); + case TAPI_SERVICE_CALL_SEND_DTMF: { + struct treq_call_dtmf data; + gchar *str; + + str = sipc_util_marshal_object_get_string(in_obj, "call_dtmf"); + + if ( str ) { + strncpy( data.digits, str, MAX_CALL_DTMF_DIGITS_LEN ); + } else { + dbg("[ error ] str : 0"); + result = FALSE; + goto RETURN; + } + + tcore_user_request_set_data(ur, sizeof( struct treq_call_dtmf ), &data); + tcore_user_request_set_command(ur, TREQ_CALL_SEND_DTMF); + }break; + + case TAPI_SERVICE_CALL_HOLD: { + gchar *id = 0; + id = sipc_util_marshal_object_get_string(in_obj, "call_id"); + + tcore_user_request_set_data(ur, sizeof( unsigned int ), id); tcore_user_request_set_command(ur, TREQ_CALL_HOLD); }break; - case TAPI_SERVICE_ACTIVE: { - unsigned int id = 0; - /* - * COMMON CODE - * get_data from in_obj - * - * ONLY SYNC API & RETURN DATA - * out_obj = sipc_util_marshal_object_create(); - * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - * - * serial_d = sipc_util_marshal_object_serializer(out_obj); - * s_data_len = strlen(serial_d); - * sipc_util_marshal_object_destory(out_obj); - * - * *outparam = g_new0(char, s_data_len); - * memcpy(*outparam, serial_d, hdr.s_data_len); - * g_free(serial_d); - * return; - * - */ - tcore_user_request_set_data(ur, sizeof( unsigned int ), &id); + + case TAPI_SERVICE_CALL_ACTIVE: { + gchar *id = 0; + id = sipc_util_marshal_object_get_string(in_obj, "call_id"); + + tcore_user_request_set_data(ur, sizeof( unsigned int ), id); tcore_user_request_set_command(ur, TREQ_CALL_ACTIVE); }break; - case TAPI_SERVICE_SWAP: { - unsigned int id = 0; - /* - * COMMON CODE - * get_data from in_obj - * - * ONLY SYNC API & RETURN DATA - * out_obj = sipc_util_marshal_object_create(); - * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - * - * serial_d = sipc_util_marshal_object_serializer(out_obj); - * s_data_len = strlen(serial_d); - * sipc_util_marshal_object_destory(out_obj); - * - * *outparam = g_new0(char, s_data_len); - * memcpy(*outparam, serial_d, hdr.s_data_len); - * g_free(serial_d); - * return; - * - */ - tcore_user_request_set_data(ur, sizeof( unsigned int ), &id); + + case TAPI_SERVICE_CALL_SWAP: { + gchar *id = 0; + id = sipc_util_marshal_object_get_string(in_obj, "call_id"); + + tcore_user_request_set_data(ur, sizeof( unsigned int ), id); tcore_user_request_set_command(ur, TREQ_CALL_SWAP); }break; - case TAPI_SERVICE_JOIN: { - unsigned int id = 0; - /* - * COMMON CODE - * get_data from in_obj - * - * ONLY SYNC API & RETURN DATA - * out_obj = sipc_util_marshal_object_create(); - * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - * - * serial_d = sipc_util_marshal_object_serializer(out_obj); - * s_data_len = strlen(serial_d); - * sipc_util_marshal_object_destory(out_obj); - * - * *outparam = g_new0(char, s_data_len); - * memcpy(*outparam, serial_d, hdr.s_data_len); - * g_free(serial_d); - * return; - * - */ - tcore_user_request_set_data(ur, sizeof( unsigned int ), &id); + + case TAPI_SERVICE_CALL_JOIN: { + gchar *id = 0; + id = sipc_util_marshal_object_get_string(in_obj, "call_id"); + + tcore_user_request_set_data(ur, sizeof( unsigned int ), id); tcore_user_request_set_command(ur, TREQ_CALL_JOIN); }break; - case TAPI_SERVICE_SPLIT: { - unsigned int id = 0; - /* - * COMMON CODE - * get_data from in_obj - * - * ONLY SYNC API & RETURN DATA - * out_obj = sipc_util_marshal_object_create(); - * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - * - * serial_d = sipc_util_marshal_object_serializer(out_obj); - * s_data_len = strlen(serial_d); - * sipc_util_marshal_object_destory(out_obj); - * - * *outparam = g_new0(char, s_data_len); - * memcpy(*outparam, serial_d, hdr.s_data_len); - * g_free(serial_d); - * return; - * - */ - tcore_user_request_set_data(ur, sizeof( unsigned int ), &id); + + case TAPI_SERVICE_CALL_SPLIT: { + gchar *id = 0; + id = sipc_util_marshal_object_get_string(in_obj, "call_id"); + + tcore_user_request_set_data(ur, sizeof( unsigned int ), id); tcore_user_request_set_command(ur, TREQ_CALL_SPLIT); }break; - case TAPI_SERVICE_DEFLECT: { - /* - * COMMON CODE - * get_data from in_obj - * - * ONLY SYNC API & RETURN DATA - * out_obj = sipc_util_marshal_object_create(); - * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - * - * serial_d = sipc_util_marshal_object_serializer(out_obj); - * s_data_len = strlen(serial_d); - * sipc_util_marshal_object_destory(out_obj); - * - * *outparam = g_new0(char, s_data_len); - * memcpy(*outparam, serial_d, hdr.s_data_len); - * g_free(serial_d); - * return; - * - */ + + case TAPI_SERVICE_CALL_DEFLECT: { + gchar *number = 0; + number = sipc_util_marshal_object_get_string(in_obj, "call_number"); + + if ( !number ) { + dbg("[ error ] number : 0"); + result = FALSE; + goto RETURN; + } + + tcore_user_request_set_data(ur, MAX_CALL_NUMBER_LEN, (char*)number); tcore_user_request_set_command(ur, TREQ_CALL_DEFLECT); }break; - case TAPI_SERVICE_TRANSFER: { - unsigned int id = 0; - /* - * COMMON CODE - * get_data from in_obj - * - * ONLY SYNC API & RETURN DATA - * out_obj = sipc_util_marshal_object_create(); - * sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - * sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - * - * serial_d = sipc_util_marshal_object_serializer(out_obj); - * s_data_len = strlen(serial_d); - * sipc_util_marshal_object_destory(out_obj); - * - * *outparam = g_new0(char, s_data_len); - * memcpy(*outparam, serial_d, hdr.s_data_len); - * g_free(serial_d); - * return; - * - */ - tcore_user_request_set_data(ur, sizeof( unsigned int ), &id); + + case TAPI_SERVICE_CALL_TRANSFER: { + gchar *id = 0; + id = sipc_util_marshal_object_get_string(in_obj, "call_id"); + + tcore_user_request_set_data(ur, sizeof( unsigned int ), id); tcore_user_request_set_command(ur, TREQ_CALL_TRANSFER); }break; //TAPI_CS_CALL_GETACTIVELINE //TAPI_CS_CALL_SETACTIVELINE - case TAPI_SERVICE_SEND_DTMF: {}break; - case TAPI_SERVICE_SET_SOUND_PATH: {}break; - case TAPI_SERVICE_GET_SOUND_VOLUME_LEVEL: {}break; - case TAPI_SERVICE_SET_SOUND_VOLUME_LEVEL: {}break; - case TAPI_SERVICE_MUTE: {}break; - case TAPI_SERVICE_UNMUTE: {}break; - case TAPI_SERVICE_GET_MUTE_STATUS: {}break; + case TAPI_SERVICE_CALL_SET_SOUND_PATH: { + struct treq_call_sound_set_path data; + gchar *path = 0; + + path = sipc_util_marshal_object_get_string(in_obj, "sound_path"); + + data.path = (enum telephony_call_sound_path)*path; + + tcore_user_request_set_data(ur, sizeof( struct treq_call_sound_set_path ), &data); + tcore_user_request_set_command(ur, TREQ_CALL_SET_SOUND_PATH ); + + }break; + + case TAPI_SERVICE_CALL_GET_SOUND_VOLUME_LEVEL: { + struct treq_call_sound_get_volume_level data; + gchar *sound_device = 0; + gchar *sound_type = 0; + + sound_type = sipc_util_marshal_object_get_string(in_obj, "sound_type"); + sound_device = sipc_util_marshal_object_get_string(in_obj, "sound_device"); + + data.sound = (enum telephony_call_sound_type)sound_type; + data.device = (enum telephony_call_sound_device)sound_device; + + tcore_user_request_set_data(ur, sizeof( struct treq_call_sound_get_volume_level ), &data); + tcore_user_request_set_command(ur, TREQ_CALL_GET_SOUND_VOLUME_LEVEL ); + }break; + + case TAPI_SERVICE_CALL_SET_SOUND_VOLUME_LEVEL: { + struct treq_call_sound_set_volume_level data; + gchar *sound_type = 0; + gchar *sound_device = 0; + gchar *sound_volume = 0; + + sound_type = sipc_util_marshal_object_get_string(in_obj, "sound_type"); + sound_device = sipc_util_marshal_object_get_string(in_obj, "sound_device"); + sound_volume = sipc_util_marshal_object_get_string(in_obj, "sound_volume"); + + data.sound = (enum telephony_call_sound_type)sound_type; + data.device = (enum telephony_call_sound_device)sound_device; + data.volume = (enum telephony_call_sound_volume_level)sound_volume; + + tcore_user_request_set_data(ur, sizeof( struct treq_call_sound_set_volume_level ), &data); + tcore_user_request_set_command(ur, TREQ_CALL_SET_SOUND_VOLUME_LEVEL ); + + }break; + + case TAPI_SERVICE_CALL_MUTE: { + + tcore_user_request_set_command(ur, TREQ_CALL_MUTE); + + }break; + + case TAPI_SERVICE_CALL_UNMUTE: { + + tcore_user_request_set_command(ur, TREQ_CALL_UNMUTE); + + }break; + + case TAPI_SERVICE_CALL_GET_MUTE_STATUS: { + + tcore_user_request_set_command(ur, TREQ_CALL_GET_MUTE_STATUS); + + }break; + + case TAPI_SERVICE_CALL_SET_ACTIVE_LINE: {}break; + case TAPI_SERVICE_CALL_GET_ACTIVE_LINE: {}break; + case TAPI_SERVICE_CALL_ACTIVATE_CCBS: {}break; + } + +RETURN: + + sipc_util_marshal_object_destory(in_obj); + out_obj = sipc_util_marshal_object_create(); + sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + + dbg("result = %d", result); + + *outparam = sipc_util_marshal_object_serializer(out_obj); + sipc_util_marshal_object_destory(out_obj); + + if (result == FALSE) { + tcore_user_request_unref(ur); + return FALSE; } ret = tcore_communicator_dispatch_request(c, ur); @@ -373,131 +343,109 @@ gboolean scomm_service_response_call(Communicator *comm, UserRequest *ur, enum t dbg("application channel id(%d), Command = [0x%x], data_len = %d", ui->channel_id, command, data_len); hdr.cmd = (tapi_service_command_e)ui->client_cmd; + out_obj = sipc_util_marshal_object_create(); + switch (command) { case TRESP_CALL_DIAL: { struct tresp_call_general* resp_data = 0; resp_data = (struct tresp_call_general*)data; - /*{create output data and create serialized data} - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE); + } break; case TRESP_CALL_ANSWER: { struct tresp_call_general* resp_data = 0; resp_data = (struct tresp_call_general*)data; - /*{create output data and create serialized data} - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE); + } break; case TRESP_CALL_END: { struct tresp_call_general* resp_data = 0; resp_data = (struct tresp_call_general*)data; - /*{create output data and create serialized data} - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE); } break; case TRESP_CALL_END_ALL: { struct tresp_call_general* resp_data = 0; resp_data = (struct tresp_call_general*)data; - /*{create output data and create serialized data} - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE); } break; case TRESP_CALL_END_ALL_ACTIVE: { struct tresp_call_general* resp_data = 0; resp_data = (struct tresp_call_general*)data; - /*{create output data and create serialized data} - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE); + } break; case TRESP_CALL_END_ALL_HELD: { struct tresp_call_general* resp_data = 0; resp_data = (struct tresp_call_general*)data; - /*{create output data and create serialized data} - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE); + } break; case TRESP_CALL_HOLD: { struct tresp_call_general* resp_data = 0; resp_data = (struct tresp_call_general*)data; - /*{create output data and create serialized data} - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE); + } break; case TRESP_CALL_ACTIVE: { struct tresp_call_general* resp_data = 0; resp_data = (struct tresp_call_general*)data; - /*{create output data and create serialized data} - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE); + } break; case TRESP_CALL_SWAP: { struct tresp_call_general* resp_data = 0; resp_data = (struct tresp_call_general*)data; - /*{create output data and create serialized data} - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE); + } break; case TRESP_CALL_JOIN: { struct tresp_call_general* resp_data = 0; resp_data = (struct tresp_call_general*)data; - /*{create output data and create serialized data} - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE); + } break; case TRESP_CALL_SPLIT: { struct tresp_call_general* resp_data = 0; resp_data = (struct tresp_call_general*)data; - /*{create output data and create serialized data} - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE); + } break; case TRESP_CALL_DEFLECT: { @@ -506,43 +454,32 @@ gboolean scomm_service_response_call(Communicator *comm, UserRequest *ur, enum t struct tresp_call_general* resp_data = 0; resp_data = (struct tresp_call_general*)data; - /*{create output data and create serialized data} - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + sipc_util_marshal_object_add_data(out_obj, "call_id", &resp_data->id, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + sipc_util_marshal_object_add_data(out_obj, "err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE); + } break; case TRESP_CALL_SEND_DTMF: { } break; case TRESP_CALL_SET_SOUND_PATH: { struct tresp_call_sound_general* resp_data = 0; - //tapi_sound_error_info_t error_info = { 0 }; - resp_data = (struct tresp_call_sound_general*)data; - /*{create output data and create serialized data} - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + out_obj = sipc_util_marshal_object_create(); + sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + sipc_util_marshal_object_add_data(out_obj, "sound_err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE); + } break; case TRESP_CALL_SET_SOUND_VOLUME_LEVEL: { struct tresp_call_sound_general* resp_data = 0; - //tapi_sound_error_info_t error_info = { 0 }; - unsigned int err = 0; - resp_data = (struct tresp_call_sound_general*)data; - /*{create output data and create serialized data} - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + out_obj = sipc_util_marshal_object_create(); + sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + sipc_util_marshal_object_add_data(out_obj, "sound_err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE); + } break; case TRESP_CALL_GET_SOUND_VOLUME_LEVEL: { @@ -552,17 +489,12 @@ gboolean scomm_service_response_call(Communicator *comm, UserRequest *ur, enum t case TRESP_CALL_MUTE: case TRESP_CALL_UNMUTE: { struct tresp_call_sound_general* resp_data = 0; - //tapi_sound_error_info_t error_info = { 0 }; - unsigned int err = 0; - resp_data = (struct tresp_call_sound_general*)data; - /*{create output data and create serialized data} - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + out_obj = sipc_util_marshal_object_create(); + sipc_util_marshal_object_add_data(out_obj, "err", &resp_data->err, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + sipc_util_marshal_object_add_data(out_obj, "sound_err_cause", &resp_data->cause, SIPC_MARSHAL_DATA_INT_TYPE); + } break; case TRESP_CALL_GET_MUTE_STATUS: { @@ -603,7 +535,6 @@ gboolean scomm_service_notification_call(Communicator *comm, CoreObject *source, gchar *out_d= NULL, *serial_d = NULL; struct custom_data *ctx = NULL; - sipc_server_t *s = NULL; struct _tapi_header hdr; struct _sipc_marshal_object* out_obj = NULL; @@ -616,131 +547,79 @@ gboolean scomm_service_notification_call(Communicator *comm, CoreObject *source, return FALSE; } - s = ctx->sk_server; dbg("notification !!! (command = 0x%x, data_len = %d)", command, data_len); + out_obj = sipc_util_marshal_object_create(); + switch (command) { case TNOTI_CALL_STATUS_IDLE: { - //TelCallEndInfo_t resp_data; - int *id = (int*)data; - - //resp_data.CallEndCause = 0; - //resp_data.pCallHandle = *id; - //resp_data.CallStartTime = 0; - //resp_data.CallEndTime = 0; - - /*{create output data and create serialized data} - hdr->cmd = ; - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ - - //TAPI_EVENT_CLASS_CALL_VOICE, - //TAPI_EVENT_CALL_END_IND, - } - break; + struct tnoti_call_status_idle *status; + status = (struct tnoti_call_status_idle*)data; - case TNOTI_CALL_STATUS_DIALING: - break; + sipc_util_marshal_object_add_data(out_obj, "call_type", &status->type, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "call_id", &status->id, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "end_cause", &status->cause, SIPC_MARSHAL_DATA_INT_TYPE); - case TNOTI_CALL_STATUS_ALERT: + } break; - /*{create output data and create serialized data} - hdr->cmd = ; - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + case TNOTI_CALL_STATUS_DIALING: { + struct tnoti_call_status_dialing *status; + status = (struct tnoti_call_status_dialing*)data; - //TAPI_EVENT_CLASS_CALL_VOICE, - //TAPI_EVENT_CALL_ALERT_IND, - break; + sipc_util_marshal_object_add_data(out_obj, "call_type", &status->type, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "call_id", &status->id, SIPC_MARSHAL_DATA_INT_TYPE); - case TNOTI_CALL_STATUS_ACTIVE: + } break; - /*{create output data and create serialized data} - hdr->cmd = ; - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + case TNOTI_CALL_STATUS_ALERT: { + struct tnoti_call_status_alert *status; + status = (struct tnoti_call_status_alert*)data; - //TAPI_EVENT_CLASS_CALL_VOICE, - //TAPI_EVENT_CALL_CONNECTED_IND, - break; + sipc_util_marshal_object_add_data(out_obj, "call_type", &status->type, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "call_id", &status->id, SIPC_MARSHAL_DATA_INT_TYPE); - case TNOTI_CALL_STATUS_HELD: + } break; - /*{create output data and create serialized data} - hdr->cmd = ; - out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - sipc_util_marshal_object_add_data(out_obj, "err_cause", &err_cause, SIPC_MARSHAL_DATA_BOOLEAN_INT); - ....... - */ + case TNOTI_CALL_STATUS_ACTIVE: { + struct tnoti_call_status_active *status = 0; + status = (struct tnoti_call_status_active*)data; - //TAPI_EVENT_CLASS_CALL_VOICE, - //TAPI_EVENT_CALL_HOLD_IND, - break; + sipc_util_marshal_object_add_data(out_obj, "call_type", &status->type, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "call_id", &status->id, SIPC_MARSHAL_DATA_INT_TYPE); + + } break; + + case TNOTI_CALL_STATUS_HELD: { + struct tnoti_call_status_held *status; + status = (struct tnoti_call_status_held*)data; + + sipc_util_marshal_object_add_data(out_obj, "call_type", &status->type, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "call_id", &status->id, SIPC_MARSHAL_DATA_INT_TYPE); + + } break; case TNOTI_CALL_STATUS_INCOMING: { struct tnoti_call_status_incoming *incoming = 0; - char id[2] = {0, }; - char cli[2] = {0, }; - char forward[2] = {0, }; - char active_line[2] = {0, }; - char cna[2] = {0, }; - char number[83] = {0, }; - char name[83] = {0, }; - int ret = 0; + incoming = (struct tnoti_call_status_incoming*)data; - bundle *kb = 0; + dbg("incoming noti publish"); - incoming = (struct tnoti_call_status_incoming*)data; + if ( incoming->type == CALL_TYPE_VOICE ) + _launch_voice_call( incoming ); + else + _launch_video_call( incoming ); - snprintf( id, 2, "%d", incoming->id ); - dbg("id : [%s]", id ); - snprintf( cli, 2, "%d", incoming->cli.mode ); - dbg("cli : [%s]", id ); - snprintf( number, 83, "%s", incoming->cli.number ); - dbg("number : [%s]", number ); - snprintf( forward, 2, "%d", incoming->forward ); - dbg("forward : [%s]", forward ); - snprintf( active_line, 2, "%d", incoming->active_line ); - dbg("active_line : [%s]", active_line ); - snprintf( cna, 2, "%d", incoming->cna.mode ); - dbg("cna : [%s]", cna ); - snprintf( name, 83, "%s", incoming->cna.name ); - dbg("name : [%s]", name ); - - kb = bundle_create(); - bundle_add(kb, "launch-type", "MT"); - bundle_add(kb, "handle", id); - bundle_add(kb, "number", number); - bundle_add(kb, "name_mode", cna); - bundle_add(kb, "name", name); - bundle_add(kb, "clicause", cli); - bundle_add(kb, "fwded", forward); - bundle_add(kb, "activeline", active_line); - - ret = aul_launch_app("com.samsung.call", kb); - bundle_free(kb); - - dbg("aul_launch_app [ voice call ] : %d", ret); - return TRUE; - } - break; + + } break; case TNOTI_CALL_STATUS_WAITING: default: + dbg("unknown notification"); + return FALSE; break; } - if(out_obj){ + if (out_obj) { serial_d = sipc_util_marshal_object_serializer(out_obj); hdr.data_len = strlen(serial_d); sipc_util_marshal_object_destory(out_obj); @@ -748,17 +627,105 @@ gboolean scomm_service_notification_call(Communicator *comm, CoreObject *source, out_d = g_new0(char, sizeof(struct _tapi_header)+hdr.data_len); memcpy(out_d, &hdr, sizeof(struct _tapi_header)); - if(serial_d){ - memcpy(out_d+sizeof(struct _tapi_header), serial_d, hdr.data_len); + if (serial_d) { + memcpy(out_d + sizeof(struct _tapi_header), serial_d, hdr.data_len); g_free(serial_d); } - ret = sipc_server_broadcast(s, out_d, sizeof(struct _tapi_header)+hdr.data_len); + ret = sipc_server_broadcast(ctx->sk_server, out_d, sizeof(struct _tapi_header) + hdr.data_len); + dbg("ret = %d", ret); g_free(out_d); - if(ret < 0){ + if (ret < 0) { return FALSE; } return TRUE; } + +static void _launch_voice_call( struct tnoti_call_status_incoming* incoming ) +{ + char id[2] = {0, }; + char cli[2] = {0, }; + char forward[2] = {0, }; + char active_line[2] = {0, }; + char cna[2] = {0, }; + char number[83] = {0, }; + char name[83] = {0, }; + int ret = 0; + + bundle *kb = 0; + + snprintf( id, 2, "%d", incoming->id ); + dbg("id : [%s]", id ); + snprintf( cli, 2, "%d", incoming->cli.mode ); + dbg("cli : [%s]", id ); + snprintf( number, 83, "%s", incoming->cli.number ); + dbg("number : [%s]", number ); + snprintf( forward, 2, "%d", incoming->forward ); + dbg("forward : [%s]", forward ); + snprintf( active_line, 2, "%d", incoming->active_line ); + dbg("active_line : [%s]", active_line ); + +#if 0 + if ( incoming->cna.mode == CALL_CNA_MODE_PRESENT ) + snprintf( cna, 2, "%d", TAPI_CALL_NAME_AVAIL ); + else + snprintf( cna, 2, "%d", TAPI_CALL_NAME_RESTRICTED ); +#endif + + snprintf( cna, 2, "%d", incoming->cna.mode ); + dbg("cna : [%s]", cna ); + snprintf( name, 83, "%s", incoming->cna.name ); + dbg("name : [%s]", name ); + + kb = bundle_create(); + bundle_add(kb, "launch-type", "MT"); + bundle_add(kb, "handle", id); + bundle_add(kb, "number", number); + bundle_add(kb, "name_mode", cna); + bundle_add(kb, "name", name); + bundle_add(kb, "clicause", cli); + bundle_add(kb, "fwded", forward); + bundle_add(kb, "activeline", active_line); + + ret = aul_launch_app("com.samsung.call", kb); + bundle_free(kb); + + dbg("aul_launch_app [ voice call ] : %d", ret ); +} + +static void _launch_video_call( struct tnoti_call_status_incoming* incoming ) +{ + char id[2] = {0, }; + char cli[2] = {0, }; + char forward[2] = {0, }; + char number[83] = {0, }; + int ret = 0; + + bundle *kb = 0; + + dbg("Func Entrance"); + + snprintf( id, 2, "%d", incoming->id ); + dbg("id : [%s]", id ); + snprintf( number, 83, "%s", incoming->cli.number ); + dbg("number : [%s]", number ); + snprintf( cli, 2, "%d", incoming->cli.mode ); + dbg("cli : [%s]", id ); + snprintf( forward, 2, "%d", incoming->forward ); + dbg("forward : [%s]", forward ); + + kb = bundle_create(); + bundle_add(kb, "KEY_CALL_TYPE", "mt"); + bundle_add(kb, "KEY_CALL_HANDLE", id); + bundle_add(kb, "KEY_CALLING_PARTY_NUMBER", number); + bundle_add(kb, "KEY_CLI_CAUSE", cli); + bundle_add(kb, "KEY_FORWARDED", forward); + + ret = aul_launch_app("com.samsung.vtmain", kb); + bundle_free(kb); + + dbg("VT AUL return %d",ret); +} + diff --git a/plugin/src/socket_network.c b/plugin/src/socket_network.c index 46c0648..2bc0148 100644 --- a/plugin/src/socket_network.c +++ b/plugin/src/socket_network.c @@ -42,7 +42,7 @@ static void _request_fail(UserRequest *ur, int cmd, int resp_len, void *resp) { tcore_user_request_send_response(ur, cmd, resp_len, resp); - tcore_user_request_free(ur); + tcore_user_request_unref(ur); } gboolean scomm_service_request_network(unsigned int ch_id, Communicator *c, TcorePlugin *plugin, @@ -371,7 +371,7 @@ RETURN: sipc_util_marshal_object_destory(out_obj); if (result == FALSE) { - tcore_user_request_free(ur); + tcore_user_request_unref(ur); return FALSE; } @@ -400,6 +400,7 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu const struct tresp_network_set_power_on_attach *resp_set_power_on_attach = data; const struct tresp_network_get_power_on_attach *resp_get_power_on_attach = data; const struct tresp_network_set_cancel_manual_search *resp_set_cancel_manual_search = data; + const struct tresp_network_get_serving_network *resp_get_serving_network = data; int ret = 0; int i = 0; @@ -435,21 +436,22 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu SIPC_MARSHAL_DATA_INT_TYPE); dbg("count = %d", resp_network_search->list_count); - entry_obj = sipc_util_marshal_object_create(); for (i = 0; i < resp_network_search->list_count; i++) { - sipc_util_marshal_object_add_data(entry_obj, "plmn", resp_network_search->list[0].plmn, + entry_obj = sipc_util_marshal_object_create(); + sipc_util_marshal_object_add_data(entry_obj, "plmn", resp_network_search->list[i].plmn, SIPC_MARSHAL_DATA_STRING_TYPE); - sipc_util_marshal_object_add_data(entry_obj, "status", &resp_network_search->list[0].status, + sipc_util_marshal_object_add_data(entry_obj, "status", &resp_network_search->list[i].status, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(entry_obj, "act", &resp_network_search->list[0].act, + sipc_util_marshal_object_add_data(entry_obj, "act", &resp_network_search->list[i].act, SIPC_MARSHAL_DATA_INT_TYPE); snprintf(entry_key, 10, "%d", i); sipc_util_marshal_object_add_data(out_obj, entry_key, entry_obj, SIPC_MARSHAL_DATA_OBJECT_TYPE); dbg( - "key=%s, plmn=%s, status=%d, act=%d", - entry_key, resp_network_search->list[0].plmn, resp_network_search->list[0].status, resp_network_search->list[0].act); + "entry=%p, key=%s, plmn=%s, status=%d, act=%d", + entry_obj, + entry_key, resp_network_search->list[i].plmn, resp_network_search->list[i].status, resp_network_search->list[i].act); } break; @@ -459,8 +461,21 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu break; case TRESP_NETWORK_GET_PLMN_SELECTION_MODE: - sipc_util_marshal_object_add_data(out_obj, "mode", &resp_get_plmn_selection_mode->mode, - SIPC_MARSHAL_DATA_INT_TYPE); + switch (resp_get_plmn_selection_mode->mode) { + case NETWORK_SELECT_MODE_GSM_MANUAL: + sipc_util_marshal_object_add_data(out_obj, "mode", "manual", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + + case NETWORK_SELECT_MODE_CDMA: + sipc_util_marshal_object_add_data(out_obj, "mode", "cdma", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + + case NETWORK_SELECT_MODE_GLOBAL_AUTOMATIC: + default: + sipc_util_marshal_object_add_data(out_obj, "mode", "automatic", SIPC_MARSHAL_DATA_STRING_TYPE); + sipc_util_marshal_object_add_data(out_obj, "mode", "automatic", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + } break; case TRESP_NETWORK_SET_SERVICE_DOMAIN: @@ -469,8 +484,20 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu break; case TRESP_NETWORK_GET_SERVICE_DOMAIN: - sipc_util_marshal_object_add_data(out_obj, "domain", &resp_get_service_domain->domain, - SIPC_MARSHAL_DATA_INT_TYPE); + switch (resp_get_service_domain->domain) { + case NETWORK_SERVICE_DOMAIN_CS: + sipc_util_marshal_object_add_data(out_obj, "domain", "circuit", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + + case NETWORK_SERVICE_DOMAIN_PS: + sipc_util_marshal_object_add_data(out_obj, "domain", "packet", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + + case NETWORK_SERVICE_DOMAIN_COMBINED: + default: + sipc_util_marshal_object_add_data(out_obj, "domain", "combined", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + } break; case TRESP_NETWORK_SET_BAND: @@ -479,6 +506,12 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu case TRESP_NETWORK_GET_BAND: sipc_util_marshal_object_add_data(out_obj, "band", &resp_get_band->band, SIPC_MARSHAL_DATA_INT_TYPE); + if (resp_get_band->mode == NETWORK_BAND_MODE_ONLY) { + sipc_util_marshal_object_add_data(out_obj, "mode", "only", SIPC_MARSHAL_DATA_STRING_TYPE); + } + else if (resp_get_band->mode == NETWORK_BAND_MODE_PREFERRED) { + sipc_util_marshal_object_add_data(out_obj, "mode", "preferred", SIPC_MARSHAL_DATA_STRING_TYPE); + } break; case TRESP_NETWORK_SET_PREFERRED_PLMN: @@ -490,13 +523,13 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu sipc_util_marshal_object_add_data(out_obj, "count", &resp_get_preferred_plmn->list_count, SIPC_MARSHAL_DATA_INT_TYPE); - entry_obj = sipc_util_marshal_object_create(); for (i = 0; i < resp_network_search->list_count; i++) { - sipc_util_marshal_object_add_data(entry_obj, "plmn", resp_get_preferred_plmn->list[0].plmn, + entry_obj = sipc_util_marshal_object_create(); + sipc_util_marshal_object_add_data(entry_obj, "plmn", resp_get_preferred_plmn->list[i].plmn, SIPC_MARSHAL_DATA_STRING_TYPE); - sipc_util_marshal_object_add_data(entry_obj, "ef_index", &resp_get_preferred_plmn->list[0].ef_index, + sipc_util_marshal_object_add_data(entry_obj, "ef_index", &resp_get_preferred_plmn->list[i].ef_index, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(entry_obj, "act", &resp_get_preferred_plmn->list[0].act, + sipc_util_marshal_object_add_data(entry_obj, "act", &resp_get_preferred_plmn->list[i].act, SIPC_MARSHAL_DATA_INT_TYPE); snprintf(entry_key, 10, "%d", i); sipc_util_marshal_object_add_data(out_obj, entry_key, entry_obj, SIPC_MARSHAL_DATA_OBJECT_TYPE); @@ -508,7 +541,25 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu break; case TRESP_NETWORK_GET_ORDER: - sipc_util_marshal_object_add_data(out_obj, "result", &resp_get_order->order, SIPC_MARSHAL_DATA_INT_TYPE); + switch (resp_get_order->order) { + case NETWORK_ORDER_GSM_FIRST: + sipc_util_marshal_object_add_data(out_obj, "order", "gsm", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + + case NETWORK_ORDER_WCDMA_FIRST: + sipc_util_marshal_object_add_data(out_obj, "order", "wcdma", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + + case NETWORK_ORDER_NO_CHANGE: + sipc_util_marshal_object_add_data(out_obj, "order", "no_change", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + + case NETWORK_ORDER_AUTO: + default: + sipc_util_marshal_object_add_data(out_obj, "order", "auto", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + + } break; case TRESP_NETWORK_SET_POWER_ON_ATTACH: @@ -518,7 +569,7 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu case TRESP_NETWORK_GET_POWER_ON_ATTACH: sipc_util_marshal_object_add_data(out_obj, "enabled", &resp_get_power_on_attach->enabled, - SIPC_MARSHAL_DATA_INT_TYPE); + SIPC_MARSHAL_DATA_BOOLEAN_TYPE); break; case TRESP_NETWORK_SET_CANCEL_MANUAL_SEARCH: @@ -527,7 +578,17 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu break; case TRESP_NETWORK_GET_SERVING_NETWORK: - // + sipc_util_marshal_object_add_data(out_obj, "plmn", resp_get_serving_network->plmn, SIPC_MARSHAL_DATA_STRING_TYPE); + sipc_util_marshal_object_add_data(out_obj, "act", &resp_get_serving_network->act, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "lac", &resp_get_serving_network->gsm.lac, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "carrier", &resp_get_serving_network->cdma.carrier, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "sid", &resp_get_serving_network->cdma.sid, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "nid", &resp_get_serving_network->cdma.nid, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "bs_id", &resp_get_serving_network->cdma.bs_id, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "bs_lat", &resp_get_serving_network->cdma.bs_lat, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "bs_long", &resp_get_serving_network->cdma.bs_long, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "reg_zone", &resp_get_serving_network->cdma.reg_zone, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "pilot_pn", &resp_get_serving_network->cdma.pilot_pn, SIPC_MARSHAL_DATA_INT_TYPE); break; } @@ -538,10 +599,6 @@ gboolean scomm_service_response_network(Communicator *comm, UserRequest *ur, enu sipc_util_marshal_object_destory(out_obj); } - if (entry_obj) { - sipc_util_marshal_object_destory(out_obj); - } - out_d = g_new0(char, sizeof(struct _tapi_header) + hdr.data_len); memcpy(out_d, &hdr, sizeof(struct _tapi_header)); @@ -571,6 +628,7 @@ gboolean scomm_service_notification_network(Communicator *comm, CoreObject *sour const struct tnoti_network_icon_info *noti_icon_info = data; const struct tnoti_network_change *noti_change = data; const struct tnoti_network_timeinfo *noti_timeinfo = data; + const struct tnoti_network_identity *noti_identity = data; int ret = 0; struct custom_data *ctx = NULL; @@ -578,6 +636,8 @@ gboolean scomm_service_notification_network(Communicator *comm, CoreObject *sour struct _sipc_marshal_object* out_obj = NULL; gchar *out_d = NULL, *serial_d = NULL; + memset(&hdr, 0, sizeof(struct _tapi_header)); + ctx = tcore_communicator_ref_user_data(comm); if (!ctx) { dbg("user_data is NULL"); @@ -591,10 +651,39 @@ gboolean scomm_service_notification_network(Communicator *comm, CoreObject *sour hdr.cmd = TAPI_NOTI_NETWORK_REGISTRATION_STATUS; out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "cs_domain_status", ¬i_registration_status->cs_domain_status, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(out_obj, "ps_domain_status", ¬i_registration_status->ps_domain_status, SIPC_MARSHAL_DATA_INT_TYPE); + switch (noti_registration_status->cs_domain_status) { + case NETWORK_SERVICE_DOMAIN_STATUS_EMERGENCY: + sipc_util_marshal_object_add_data(out_obj, "circuit", "emergency", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + case NETWORK_SERVICE_DOMAIN_STATUS_FULL: + sipc_util_marshal_object_add_data(out_obj, "circuit", "full", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + case NETWORK_SERVICE_DOMAIN_STATUS_SEARCH: + sipc_util_marshal_object_add_data(out_obj, "circuit", "search", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + case NETWORK_SERVICE_DOMAIN_STATUS_NO: + default: + sipc_util_marshal_object_add_data(out_obj, "circuit", "none", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + } + + switch (noti_registration_status->ps_domain_status) { + case NETWORK_SERVICE_DOMAIN_STATUS_EMERGENCY: + sipc_util_marshal_object_add_data(out_obj, "packet", "emergency", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + case NETWORK_SERVICE_DOMAIN_STATUS_FULL: + sipc_util_marshal_object_add_data(out_obj, "packet", "full", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + case NETWORK_SERVICE_DOMAIN_STATUS_SEARCH: + sipc_util_marshal_object_add_data(out_obj, "packet", "search", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + case NETWORK_SERVICE_DOMAIN_STATUS_NO: + default: + sipc_util_marshal_object_add_data(out_obj, "packet", "none", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + } sipc_util_marshal_object_add_data(out_obj, "service_type", ¬i_registration_status->service_type, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(out_obj, "roaming_status", ¬i_registration_status->roaming_status, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "roaming_status", ¬i_registration_status->roaming_status, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); break; case TNOTI_NETWORK_LOCATION_CELLINFO: @@ -609,10 +698,18 @@ gboolean scomm_service_notification_network(Communicator *comm, CoreObject *sour hdr.cmd = TAPI_NOTI_NETWORK_ICON_INFO; out_obj = sipc_util_marshal_object_create(); - sipc_util_marshal_object_add_data(out_obj, "type", ¬i_icon_info->type, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(out_obj, "rssi", ¬i_icon_info->rssi, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(out_obj, "battery", ¬i_icon_info->battery, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(out_obj, "hdr_rssi", ¬i_icon_info->hdr_rssi, SIPC_MARSHAL_DATA_INT_TYPE); + if (noti_icon_info->type & 0x01) { + sipc_util_marshal_object_add_data(out_obj, "rssi", ¬i_icon_info->rssi, + SIPC_MARSHAL_DATA_INT_TYPE); + } + if (noti_icon_info->type & 0x02) { + sipc_util_marshal_object_add_data(out_obj, "battery", ¬i_icon_info->battery, + SIPC_MARSHAL_DATA_INT_TYPE); + } + if (noti_icon_info->type & 0x04) { + sipc_util_marshal_object_add_data(out_obj, "hdr_rssi", ¬i_icon_info->hdr_rssi, + SIPC_MARSHAL_DATA_INT_TYPE); + } break; case TNOTI_NETWORK_CHANGE: @@ -628,7 +725,7 @@ gboolean scomm_service_notification_network(Communicator *comm, CoreObject *sour sipc_util_marshal_object_add_data(out_obj, "bs_id", ¬i_change->cdma.bs_id, SIPC_MARSHAL_DATA_INT_TYPE); sipc_util_marshal_object_add_data(out_obj, "bs_lat", ¬i_change->cdma.bs_lat, SIPC_MARSHAL_DATA_INT_TYPE); sipc_util_marshal_object_add_data(out_obj, "bs_long", ¬i_change->cdma.bs_long, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(out_obj, "reg_sonze", ¬i_change->cdma.reg_sonze, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "reg_zone", ¬i_change->cdma.reg_zone, SIPC_MARSHAL_DATA_INT_TYPE); sipc_util_marshal_object_add_data(out_obj, "pilot_pn", ¬i_change->cdma.pilot_pn, SIPC_MARSHAL_DATA_INT_TYPE); break; @@ -649,7 +746,18 @@ gboolean scomm_service_notification_network(Communicator *comm, CoreObject *sour sipc_util_marshal_object_add_data(out_obj, "isdst", ¬i_timeinfo->isdst, SIPC_MARSHAL_DATA_INT_TYPE); break; + case TNOTI_NETWORK_IDENTITY: + hdr.cmd = TAPI_NOTI_NETWORK_IDENTITY; + + out_obj = sipc_util_marshal_object_create(); + sipc_util_marshal_object_add_data(out_obj, "plmn", noti_identity->plmn, SIPC_MARSHAL_DATA_STRING_TYPE); + sipc_util_marshal_object_add_data(out_obj, "short_name", noti_identity->short_name, SIPC_MARSHAL_DATA_STRING_TYPE); + sipc_util_marshal_object_add_data(out_obj, "full_name", noti_identity->full_name, SIPC_MARSHAL_DATA_STRING_TYPE); + break; + default: + dbg("unknown notification"); + return FALSE; break; } @@ -666,7 +774,7 @@ gboolean scomm_service_notification_network(Communicator *comm, CoreObject *sour g_free(serial_d); } - dbg("len = %d, out_d = [%s]", sizeof(struct _tapi_header) + hdr.data_len, out_d); + dbg("len = %d, cmd = 0x%x, serialize = [%s]", sizeof(struct _tapi_header) + hdr.data_len, hdr.cmd, out_d); ret = sipc_server_broadcast(ctx->sk_server, out_d, sizeof(struct _tapi_header) + hdr.data_len); dbg("ret = %d", ret); diff --git a/plugin/src/socket_pb.c b/plugin/src/socket_pb.c index 8231c53..9a360c0 100644 --- a/plugin/src/socket_pb.c +++ b/plugin/src/socket_pb.c @@ -67,11 +67,13 @@ gboolean scomm_service_reqeust_pb(unsigned int ch_id, Communicator *c, TcorePlug g_slist_free(co_list); +#if 0 if (cmd == TAPI_SERVICE_PB_GET_INITINFO ) { /*synchronous data return case*/ out_o.cmd = cmd; out_o.mo = sipc_util_marshal_object_create(); } else { +#endif /*asynchronous data return case*/ ur = tcore_user_request_new(c, tcore_plugin_get_description(plugin)->name); if (!ur) { @@ -88,9 +90,12 @@ gboolean scomm_service_reqeust_pb(unsigned int ch_id, Communicator *c, TcorePlug dbg("err - data deserializer failed"); return FALSE; } +#if 0 } +#endif switch (cmd) { +#if 0 case TAPI_SERVICE_PB_GET_INITINFO : { gboolean g_init; struct tel_phonebook_support_list *g_pb_list; @@ -110,7 +115,7 @@ gboolean scomm_service_reqeust_pb(unsigned int ch_id, Communicator *c, TcorePlug g_free(tmp); } break; - +#endif case TAPI_SERVICE_PB_GET_COUNT : { struct treq_phonebook_get_count pb_count; enum tel_phonebook_type g_pb_type; @@ -122,7 +127,7 @@ gboolean scomm_service_reqeust_pb(unsigned int ch_id, Communicator *c, TcorePlug } break; - case TAPI_SERVICE_PB_GET_META : { + case TAPI_SERVICE_PB_GET_METAINFO : { struct treq_phonebook_get_info pb_info; struct treq_phonebook_get_usim_info pb_usim; enum tel_phonebook_type g_pb_type; @@ -233,15 +238,19 @@ gboolean scomm_service_reqeust_pb(unsigned int ch_id, Communicator *c, TcorePlug break; } +#if 0 if (cmd == TAPI_SERVICE_PB_GET_INITINFO ) { /*synchronous data return case*/ } else { +#endif /*asynchronous data return case*/ ret = tcore_communicator_dispatch_request(c, ur); if (ret != TCORE_RETURN_SUCCESS) { return FALSE; } +#if 0 } +#endif return TRUE; } diff --git a/plugin/src/socket_ps.c b/plugin/src/socket_ps.c index 99601a4..7b8c7ff 100644 --- a/plugin/src/socket_ps.c +++ b/plugin/src/socket_ps.c @@ -42,7 +42,19 @@ static void _request_fail(UserRequest *ur, int cmd, int resp_len, void *resp) { tcore_user_request_send_response(ur, cmd, resp_len, resp); - tcore_user_request_free(ur); + tcore_user_request_unref(ur); +} +static char *_get_ip_string(const unsigned char str[4]) +{ + union tcore_ip4_type ip; + + ip.i = 0; + ip.s[0] = str[0]; + ip.s[1] = str[1]; + ip.s[2] = str[2]; + ip.s[3] = str[3]; + + return tcore_util_get_string_by_ip4type(ip); } gboolean scomm_service_request_ps(unsigned int ch_id, Communicator *c, TcorePlugin *plugin, @@ -224,12 +236,18 @@ gboolean scomm_service_notification_ps(Communicator *comm, CoreObject *source, e unsigned int data_len, const void *data) { const struct tnoti_ps_dun_pin_control *noti_pin_info = data; + const struct tnoti_ps_call_status *noti_call_status = data; + const struct tnoti_ps_pdp_ipconfiguration *noti_pdp_ipconfiguration = data; + const struct tnoti_ps_protocol_status *noti_protocol_status = data; int ret = 0; struct custom_data *ctx = NULL; struct _tapi_header hdr; struct _sipc_marshal_object* out_obj = NULL; gchar *out_d = NULL, *serial_d = NULL; + char *ipstr; + + memset(&hdr, 0, sizeof(struct _tapi_header)); ctx = tcore_communicator_ref_user_data(comm); if (!ctx) { @@ -285,6 +303,73 @@ gboolean scomm_service_notification_ps(Communicator *comm, CoreObject *source, e hdr.cmd = TAPI_NOTI_PS_EXTERNAL_CALL; /* no data */ break; + + case TNOTI_PS_CALL_STATUS: + hdr.cmd = TAPI_NOTI_PS_CALL_STATUS; + out_obj = sipc_util_marshal_object_create(); + sipc_util_marshal_object_add_data(out_obj, "context_id", ¬i_call_status->context_id, + SIPC_MARSHAL_DATA_INT_TYPE); + if (noti_call_status->state == 1) { + sipc_util_marshal_object_add_data(out_obj, "state", "activated", SIPC_MARSHAL_DATA_STRING_TYPE); + } + else { + sipc_util_marshal_object_add_data(out_obj, "state", "deactivated", SIPC_MARSHAL_DATA_STRING_TYPE); + } + break; + + case TNOTI_PS_PDP_IPCONFIGURATION: + hdr.cmd = TAPI_NOTI_PS_PDP_IPCONFIGURATION; + out_obj = sipc_util_marshal_object_create(); + sipc_util_marshal_object_add_data(out_obj, "context_id", ¬i_pdp_ipconfiguration->context_id, + SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_obj, "secondary_context_id", + ¬i_pdp_ipconfiguration->secondary_context_id, SIPC_MARSHAL_DATA_INT_TYPE); + ipstr = _get_ip_string(noti_pdp_ipconfiguration->ip_address); + sipc_util_marshal_object_add_data(out_obj, "ip_address", ipstr, SIPC_MARSHAL_DATA_STRING_TYPE); + free(ipstr); + ipstr = _get_ip_string(noti_pdp_ipconfiguration->primary_dns); + sipc_util_marshal_object_add_data(out_obj, "primary_dns", ipstr, SIPC_MARSHAL_DATA_STRING_TYPE); + free(ipstr); + ipstr = _get_ip_string(noti_pdp_ipconfiguration->secondary_dns); + sipc_util_marshal_object_add_data(out_obj, "secondary_dns", ipstr, SIPC_MARSHAL_DATA_STRING_TYPE); + free(ipstr); + ipstr = _get_ip_string(noti_pdp_ipconfiguration->gateway); + sipc_util_marshal_object_add_data(out_obj, "gateway", ipstr, SIPC_MARSHAL_DATA_STRING_TYPE); + free(ipstr); + ipstr = _get_ip_string(noti_pdp_ipconfiguration->subnet_mask); + sipc_util_marshal_object_add_data(out_obj, "subnet_mask", ipstr, SIPC_MARSHAL_DATA_STRING_TYPE); + free(ipstr); + sipc_util_marshal_object_add_data(out_obj, "devname", ¬i_pdp_ipconfiguration->devname, + SIPC_MARSHAL_DATA_STRING_TYPE); + break; + + case TNOTI_PS_PROTOCOL_STATUS: + hdr.cmd = TAPI_NOTI_PS_PROTOCOL_STATUS; + out_obj = sipc_util_marshal_object_create(); + switch (noti_protocol_status->status) { + case 1: + sipc_util_marshal_object_add_data(out_obj, "status", "hsdpa", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + + case 2: + sipc_util_marshal_object_add_data(out_obj, "status", "hspa+", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + + case 3: + sipc_util_marshal_object_add_data(out_obj, "status", "hsupa", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + + case 0: + default: + sipc_util_marshal_object_add_data(out_obj, "status", "none", SIPC_MARSHAL_DATA_STRING_TYPE); + break; + } + break; + + default: + dbg("unknown notification"); + return FALSE; + break; } if (out_obj) { diff --git a/plugin/src/socket_sap.c b/plugin/src/socket_sap.c index d5ab25b..c5fc59e 100644 --- a/plugin/src/socket_sap.c +++ b/plugin/src/socket_sap.c @@ -83,7 +83,7 @@ gboolean scomm_service_reqeust_sap(unsigned int ch_id, Communicator *c, TcorePlu } switch (cmd) { - case TAPI_SERVICE_SAP_CONNECT :{ + case TAPI_SERVICE_SAP_REQ_CONNECT :{ struct treq_sap_req_connect req_conn = {0, }; gint g_max_size; g_max_size = sipc_util_marshal_object_get_int(in_o, "max_size"); @@ -93,21 +93,21 @@ gboolean scomm_service_reqeust_sap(unsigned int ch_id, Communicator *c, TcorePlu } break; - case TAPI_SERVICE_SAP_DISCONNECT: { + case TAPI_SERVICE_SAP_REQ_DISCONNECT: { struct treq_sap_req_disconnect req_disconn; tcore_user_request_set_data(ur, sizeof(struct treq_sap_req_disconnect), &req_disconn); tcore_user_request_set_command(ur, TREQ_SAP_REQ_DISCONNECT); } break; - case TAPI_SERVICE_SAP_GET_CONNECTSTATUS: { + case TAPI_SERVICE_SAP_REQ_STATUS: { struct treq_sap_req_status req_status; tcore_user_request_set_data(ur, sizeof(struct treq_sap_req_status), &req_status); tcore_user_request_set_command(ur, TREQ_SAP_REQ_STATUS); } break; - case TAPI_SERVICE_SAP_GET_ATR : { + case TAPI_SERVICE_SAP_REQ_ATR : { struct treq_sap_req_atr req_atr; tcore_user_request_set_data(ur, sizeof(struct treq_sap_req_atr), &req_atr); tcore_user_request_set_command(ur, TREQ_SAP_REQ_ATR); @@ -148,7 +148,7 @@ gboolean scomm_service_reqeust_sap(unsigned int ch_id, Communicator *c, TcorePlu } break; - case TAPI_SERVICE_SAP_GET_READERSTATUS : { + case TAPI_SERVICE_SAP_REQ_CARDREADERSTATUS : { struct treq_sap_req_cardreaderstatus req_reader; tcore_user_request_set_data(ur, sizeof(struct treq_sap_req_cardreaderstatus), &req_reader); tcore_user_request_set_command(ur, TREQ_SAP_REQ_CARDREADERSTATUS); @@ -273,7 +273,6 @@ gboolean scomm_service_notification_sap(Communicator *comm, CoreObject *source, int ret = 0; gchar *out_d = NULL, *serial_d = NULL; struct custom_data *ctx = NULL; - sipc_server_t *s = NULL; struct _tapi_header hdr; struct _sipc_marshal_object* out_o = NULL; @@ -286,28 +285,29 @@ gboolean scomm_service_notification_sap(Communicator *comm, CoreObject *source, return FALSE; } - s = ctx->sk_server; dbg("notification !!! (command = 0x%x, data_len = %d)", command, data_len); out_o = sipc_util_marshal_object_create(); switch (command) { - case TNOTI_SAP_STATUS : + case TNOTI_SAP_STATUS: dbg("notified sap_status[%d]", n_sap_status->status); - sipc_util_marshal_object_add_data(out_o, "status", (void*)&n_sap_status->status, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_o, "status", (void*) &n_sap_status->status, + SIPC_MARSHAL_DATA_INT_TYPE); break; - case TNOTI_SAP_DISCONNECT : + case TNOTI_SAP_DISCONNECT: dbg("notified sap_disconnect type[%d]", n_sap_disconn->type); - sipc_util_marshal_object_add_data(out_o, "type", (void*)&n_sap_disconn->type, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_o, "type", (void*) &n_sap_disconn->type, SIPC_MARSHAL_DATA_INT_TYPE); break; - default : - dbg("not handled command [%d] here",command); + default: + dbg("unknown notification"); + return FALSE; break; } - if(out_o){ + if (out_o) { serial_d = sipc_util_marshal_object_serializer(out_o); hdr.data_len = strlen(serial_d); sipc_util_marshal_object_destory(out_o); @@ -315,15 +315,15 @@ gboolean scomm_service_notification_sap(Communicator *comm, CoreObject *source, out_d = g_new0(char, sizeof(struct _tapi_header)+hdr.data_len); memcpy(out_d, &hdr, sizeof(struct _tapi_header)); - if(serial_d){ - memcpy(out_d+sizeof(struct _tapi_header), serial_d, hdr.data_len); + if (serial_d) { + memcpy(out_d + sizeof(struct _tapi_header), serial_d, hdr.data_len); g_free(serial_d); } - ret = sipc_server_broadcast(s, out_d, sizeof(struct _tapi_header)+hdr.data_len); + ret = sipc_server_broadcast(ctx->sk_server, out_d, sizeof(struct _tapi_header) + hdr.data_len); g_free(out_d); - if(ret < 0){ + if (ret < 0) { return FALSE; } return TRUE; diff --git a/plugin/src/socket_sat.c b/plugin/src/socket_sat.c new file mode 100644 index 0000000..b647079 --- /dev/null +++ b/plugin/src/socket_sat.c @@ -0,0 +1,225 @@ +/* + * tel-plugin-socket-communicator + * + * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: Ja-young Gu + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "sipc.h" +#include "tapi_common.h" +#include "module_req.h" + +gboolean scomm_service_reqeust_sat(unsigned int ch_id, Communicator *c, TcorePlugin *plugin, tapi_service_command_e cmd, gchar *data, void **outparam) +{ + int ret = 0; + int err_cause = 0; + gboolean result = TRUE; + int s_data_len = 0; + gchar *serial_d = NULL; + + GSList *co_list = NULL; + CoreObject *co_sat = NULL; + UserRequest *ur = NULL; + struct tcore_user_info ui = { 0, 0, 0, NULL,0,0, NULL }; + + struct _sipc_marshal_object *out_obj = NULL; + struct _sipc_marshal_object *in_obj = NULL; + + co_list = tcore_plugin_get_core_objects_bytype(plugin, CORE_OBJECT_TYPE_SAT); + if (!co_list) { + dbg("coreobjects does not exist"); + result = FALSE; + goto RETURN; + } + + co_sat = (CoreObject *)co_list->data; + if (!co_sat) { + dbg("sat objects does not exist"); + result = FALSE; + goto RETURN; + } + g_slist_free(co_list); + + in_obj = sipc_util_marshal_object_deserializer(data); + if(in_obj){ + dbg("in_obj is NULL"); + result = FALSE; + goto RETURN; + } + + ui.channel_id = ch_id; + ui.client_cmd = (unsigned int)cmd; + ur = tcore_user_request_new(c, tcore_plugin_get_description(plugin)->name); + if (!ur) { + dbg("ur is NULL"); + result = FALSE; + goto RETURN; + } + tcore_user_request_set_user_info(ur, &ui); + + switch (cmd) { + case TAPI_SERVICE_SAT_MENU_SELECTION_ENVELOP: { + gchar item_identifier = '\0'; + gboolean help_request = FALSE; + struct treq_sat_envelop_cmd_data envelop_data; + + dbg("TAPI_CS_SIMATK_SEND_MENU_SELECTION_ENVELOPE"); + + item_identifier = sipc_util_marshal_object_get_char(in_obj,"item_identifier"); + help_request = sipc_util_marshal_object_get_boolean(in_obj, "help_request"); + dbg("[SAT] menu selection envelop item_identifier(0x%x) help_request(%d)"); + + memset(&envelop_data, 0, sizeof(struct treq_sat_envelop_cmd_data)); + + envelop_data.sub_cmd = ENVELOP_MENU_SELECTION; + envelop_data.envelop_data.menu_select.device_identitie.src = DEVICE_ID_KEYPAD; + envelop_data.envelop_data.menu_select.device_identitie.dest = DEVICE_ID_SIM; + envelop_data.envelop_data.menu_select.item_identifier.item_identifier = item_identifier; + envelop_data.envelop_data.menu_select.help_request = help_request; + + tcore_user_request_set_data(ur, sizeof(struct treq_sat_envelop_cmd_data), (void *) &envelop_data); + tcore_user_request_set_command(ur, TREQ_SAT_REQ_ENVELOPE); + + ret = tcore_communicator_dispatch_request(c, ur); + if (ret != TCORE_RETURN_SUCCESS){ + dbg("dispatch request fail"); + result = FALSE; + goto RETURN; + } + }break; + /*case TAPI_SERVICE_SAT_SEND_EVENT_DOWNLOAD: { + tcore_user_request_set_data(ur, 0, NULL); + tcore_user_request_set_command(ur, TREQ_SAT_REQ_ENVELOPE); + ret = tcore_communicator_dispatch_request(ctx->comm, ur); + if (ret != TCORE_RETURN_SUCCESS) + api_err = TAPI_API_OPERATION_FAILED; + + g_array_append_vals(*out_param2, &request_id, sizeof(int)); + dbg("ret = 0x%x", ret); + }break; + case TAPI_SERVICE_SAT_UI_USER_CONFIRM: { + TelSatUiUserConfirmInfo_t cnf; + TelSatTextInfo_t* additional_data = NULL; + + memset(&cnf, 0x00, sizeof(TelSatUiUserConfirmInfo_t)); + cnf.commandId = g_array_index(in_param1,int, 0); + cnf.commandType = g_array_index(in_param1,int, 1); + cnf.keyType = g_array_index(in_param1, int, 2); + cnf.dataLen = g_array_index(in_param1, int, 3); + + dbg("command_id = 0x%x", cnf.commandId); + dbg("command_type = 0x%x", cnf.commandType); + dbg("key_type = 0x%x", cnf.keyType); + dbg("data_length = %d", cnf.dataLen); + + if (cnf.dataLen > 0) { + additional_data = &g_array_index(in_param2, TelSatTextInfo_t, 0); + dbg("tel_send_sat_ui_user_confirm :[%d]", additional_data->string[0]); + api_err = sat_mgr_handle_user_confirm(ctx, plugin, conn_name.name, &cnf, additional_data->string, additional_data->stringLen); + if (api_err != TAPI_API_SUCCESS) + dbg("return_value = %d", api_err); + } + else if (cnf.dataLen == 0) { + api_err = sat_mgr_handle_user_confirm(ctx, plugin, conn_name.name, &cnf, NULL, 0); + if (api_err != TAPI_API_SUCCESS) + dbg("return_value = %d", api_err); + } + else if (cnf.dataLen < 0) { + api_err = TAPI_API_SERVER_FAILURE; + } + if (api_err != TCORE_RETURN_SUCCESS) { + api_err = TAPI_API_OPERATION_FAILED; + } + dbg("api_err = 0x%x", api_err); + }break; + case TAPI_SERVICE_SEND_APP_EXEC_RESULT: { + TelSatAppsRetInfo_t* app_req_info = NULL; + dbg("TAPI_CS_SIMATK_SEND_APP_EXEC_RESULT"); + app_req_info = &g_array_index(in_param1, TelSatAppsRetInfo_t, 0); + ret = sat_mgr_handle_app_exec_result(ctx, plugin, conn_name.name, app_req_info); + if (ret != TCORE_RETURN_SUCCESS) + api_err = TAPI_API_OPERATION_FAILED; + + dbg("ret = 0x%x", ret); + }break; + case TAPI_SERVICE_GET_MAIN_MENU_INFO: { + dbg("TAPI_CS_SIMATK_GET_MAIN_MENU_INFO"); + if (ctx->pSatMainMenu != NULL && ctx->pSatMainMenu->satMainMenuNum > 0) { + dbg("[SAT] pSatMainMenu->satMainMenuNum: [%d]", ctx->pSatMainMenu->satMainMenuNum); + dbg("[SAT] pSatMainMenu->satiMainTitle [%s]", ctx->pSatMainMenu->satMainTitle); + ctx->pSatMainMenu->bIsMainMenuPresent = TRUE; + g_array_append_vals(*out_param2, ctx->pSatMainMenu, sizeof(TelSatSetupMenuInfo_t)); + } + else { + memset(&satMainMenu, 0x00, sizeof(TelSatSetupMenuInfo_t)); + satMainMenu.bIsMainMenuPresent = FALSE; + g_array_append_vals(*out_param2, &satMainMenu, sizeof(TelSatSetupMenuInfo_t)); + } + }break;*/ + case TAPI_SERVICE_SAT_UI_DISPLAY_STATUS: + default : + break; + } + +RETURN: + sipc_util_marshal_object_destory(in_obj); + out_obj = sipc_util_marshal_object_create(); + sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + + dbg("result = %d", result); + + *outparam = sipc_util_marshal_object_serializer(out_obj); + sipc_util_marshal_object_destory(out_obj); + + if (result == FALSE) { + tcore_user_request_unref(ur); + return FALSE; + } + + ret = tcore_communicator_dispatch_request(c, ur); + if (ret != TCORE_RETURN_SUCCESS) { + return FALSE; + } + + return TRUE; +} + +gboolean scomm_service_response_sat(Communicator *comm, UserRequest *ur, enum tcore_response_command command, unsigned int data_len, const void *data) +{ + return FALSE; +} + +gboolean scomm_service_notification_sat(Communicator *comm, CoreObject *source, enum tcore_notification_command command, unsigned int data_len, const void *data) +{ + return FALSE; +} diff --git a/plugin/src/socket_sim.c b/plugin/src/socket_sim.c index fe95de9..2a156c6 100644 --- a/plugin/src/socket_sim.c +++ b/plugin/src/socket_sim.c @@ -39,6 +39,33 @@ #include "tapi_common.h" #include "module_req.h" +static gchar* _convert_access_result_to_string(enum tel_sim_access_result rt) +{ + gchar *string_rt = NULL; + switch (rt) { + case SIM_ACCESS_SUCCESS : + string_rt = "ok\0"; + break; + case SIM_ACCESS_CARD_ERROR : + string_rt = "card_error\0"; + break; + case SIM_ACCESS_FILE_NOT_FOUND : + string_rt = "file_not_found\0"; + break; + case SIM_ACCESS_CONDITION_NOT_SATISFIED : + string_rt = "condition_not_satisfied\0"; + break; + case SIM_ACCESS_FAILED : + string_rt = "failed\0"; + break; + default : + dbg("error - rt[%d] is not handled"); + string_rt = "failed\0"; + break; + } + return string_rt; +} + gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlugin *plugin, tapi_service_command_e cmd, gchar *data, void **outparam) { GSList *co_list = NULL; @@ -46,37 +73,42 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu UserRequest *ur = NULL; struct tcore_user_info ui = { 0, 0, 0, NULL,0,0, NULL }; int ret = 0; + gboolean result = TRUE; gchar *tmp = NULL; int tmp_len = 0; struct _tapi_service_object out_o = {0,}; - struct _sipc_marshal_object *in_o; + struct _sipc_marshal_object *in_o = NULL; co_list = tcore_plugin_get_core_objects_bytype(plugin, CORE_OBJECT_TYPE_SIM); if (!co_list) { dbg("err-no sim core object list in current plugin"); - return FALSE; + result = FALSE; + goto RETURN; } co_sim = (CoreObject *)co_list->data; if (!co_sim) { dbg("err-no sim core object in current plugin"); - return FALSE; + result = FALSE; + goto RETURN; } g_slist_free(co_list); - if (cmd == TAPI_SERVICE_SIM_GET_SIMINITINFO || cmd == TAPI_SERVICE_SIM_GET_TYPE - || cmd == TAPI_SERVICE_SIM_GET_IMSI ) { - /*synchronous data return case*/ - out_o.cmd = cmd; - out_o.mo = sipc_util_marshal_object_create(); - } else { - /*asynchronous data return case*/ + dbg("request cmd[0x%x]",cmd); + + out_o.cmd = cmd; + out_o.mo = sipc_util_marshal_object_create(); + + if ( cmd !=TAPI_SERVICE_SIM_GET_SIMINITINFO + && cmd != TAPI_SERVICE_SIM_GET_TYPE + && cmd != TAPI_SERVICE_SIM_GET_IMSI ) { ur = tcore_user_request_new(c, tcore_plugin_get_description(plugin)->name); if (!ur) { dbg("err - ur creation failed"); - return FALSE; + result = FALSE; + goto RETURN; } ui.channel_id = ch_id; @@ -84,9 +116,10 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu tcore_user_request_set_user_info(ur, &ui); in_o = sipc_util_marshal_object_deserializer(data); - if(in_o){ - dbg("err - data deserializer failed"); - return FALSE; + if(!in_o){ + dbg("err - data deserializer failed, in_o is null"); + result = FALSE; + goto RETURN; } } @@ -99,24 +132,34 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu SIPC_MARSHAL_DATA_INT_TYPE); sipc_util_marshal_object_add_data(out_o.mo, "new_sim", &sim_changed, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); - tmp = sipc_util_marshal_object_serializer(out_o.mo); - tmp_len = strlen(tmp); - *outparam = g_new0(char, tmp_len+1); - memcpy(*outparam, tmp, tmp_len); - g_free(tmp); } break; case TAPI_SERVICE_SIM_GET_TYPE : { enum tel_sim_type type = SIM_TYPE_UNKNOWN; + gchar *stype = NULL; type = tcore_sim_get_type(co_sim); - sipc_util_marshal_object_add_data(out_o.mo, "type", &type, - SIPC_MARSHAL_DATA_INT_TYPE); - tmp = sipc_util_marshal_object_serializer(out_o.mo); - tmp_len = strlen(tmp); - *outparam = g_new0(char, tmp_len+1); - memcpy(*outparam, tmp, tmp_len); - g_free(tmp); + switch (type) { + case SIM_TYPE_UNKNOWN: + stype = "unknown"; + break; + case SIM_TYPE_GSM: + stype = "sim"; + break; + case SIM_TYPE_USIM: + stype = "usim"; + break; + case SIM_TYPE_RUIM: + stype = "ruim"; + break; + case SIM_TYPE_ISIM: + stype = "isim"; + break; + default: + break; + } + sipc_util_marshal_object_add_data(out_o.mo, "type", stype, + SIPC_MARSHAL_DATA_STRING_TYPE); } break; @@ -131,11 +174,6 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(out_o.mo, "msin", n_imsi->msin, SIPC_MARSHAL_DATA_STRING_TYPE); - tmp = sipc_util_marshal_object_serializer(out_o.mo); - tmp_len = strlen(tmp); - *outparam = g_new0(char, tmp_len+1); - memcpy(*outparam, tmp, tmp_len); - g_free(tmp); } } break; @@ -154,10 +192,52 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu case TAPI_SERVICE_SIM_SET_LANGUAGE : { struct treq_sim_set_language set_language = { 0, }; - enum tel_sim_language_type g_language; - g_language = sipc_util_marshal_object_get_int(in_o, "language"); - - set_language.language = g_language; + gchar *g_language = NULL; + g_language = sipc_util_marshal_object_get_string(in_o, "language"); + dbg("tmp - g_language[%s]",g_language); + + if (!g_strcmp0(g_language, "de")) { + set_language.language = SIM_LANG_GERMAN; + } else if (!g_strcmp0(g_language, "en")) { + set_language.language = SIM_LANG_ENGLISH; + } else if (!g_strcmp0(g_language, "it")) { + set_language.language = SIM_LANG_ITALIAN; + } else if (!g_strcmp0(g_language, "fr")) { + set_language.language = SIM_LANG_FRENCH; + } else if (!g_strcmp0(g_language, "es")) { + set_language.language = SIM_LANG_SPANISH; + } else if (!g_strcmp0(g_language, "nl")) { + set_language.language = SIM_LANG_DUTCH; + } else if (!g_strcmp0(g_language, "sv")) { + set_language.language = SIM_LANG_SWEDISH; + } else if (!g_strcmp0(g_language, "da")) { + set_language.language = SIM_LANG_DANISH; + } else if (!g_strcmp0(g_language, "pt")) { + set_language.language = SIM_LANG_PORTUGUESE; + } else if (!g_strcmp0(g_language, "fi")) { + set_language.language = SIM_LANG_FINNISH; + } else if (!g_strcmp0(g_language, "no")) { + set_language.language = SIM_LANG_NORWEGIAN; + } else if (!g_strcmp0(g_language, "el")) { + set_language.language = SIM_LANG_GREEK; + } else if (!g_strcmp0(g_language, "tr")) { + set_language.language = SIM_LANG_TURKISH; + } else if (!g_strcmp0(g_language, "hu")) { + set_language.language = SIM_LANG_HUNGARIAN; + } else if (!g_strcmp0(g_language, "pl")) { + set_language.language = SIM_LANG_POLISH; + } else if (!g_strcmp0(g_language, "ko")) { + set_language.language = SIM_LANG_KOREAN; + } else if (!g_strcmp0(g_language, "zh")) { + set_language.language = SIM_LANG_CHINESE; + } else if (!g_strcmp0(g_language, "ru")) { + set_language.language = SIM_LANG_RUSSIAN; + } else if (!g_strcmp0(g_language, "ja")) { + set_language.language = SIM_LANG_JAPANESE; + } else { + result = FALSE; + goto RETURN; + } tcore_user_request_set_data(ur, sizeof(struct treq_sim_set_language), &set_language); tcore_user_request_set_command(ur, TREQ_SIM_SET_LANGUAGE); @@ -192,20 +272,44 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu tcore_user_request_set_command(ur, TREQ_SIM_GET_CPHS_INFO); break; + case TAPI_SERVICE_SIM_GET_MSISDN : + tcore_user_request_set_command(ur, TREQ_SIM_GET_MSISDN); + break; + + case TAPI_SERVICE_SIM_GET_OPLMNWACT : + tcore_user_request_set_command(ur, TREQ_SIM_GET_OPLMNWACT); + break; + case TAPI_SERVICE_SIM_AUTHENTICATION : { struct treq_sim_req_authentication req_auth = { 0, }; - enum tel_sim_auth_type g_auth_type; + gchar *g_auth_type = NULL; unsigned int g_autn_length; - unsigned char *g_autn_data; + unsigned char *g_autn_data = NULL; unsigned int g_rand_length; - unsigned char *g_rand_data; - g_auth_type = sipc_util_marshal_object_get_int(in_o, "type"); + unsigned char *g_rand_data = NULL; + g_auth_type = sipc_util_marshal_object_get_string(in_o, "type"); g_autn_data = sipc_util_marshal_object_get_string(in_o, "autn_data"); - g_autn_length = strlen(g_autn_data); + g_autn_length = sipc_util_marshal_object_get_int(in_o, "autn_data_length"); g_rand_data = sipc_util_marshal_object_get_string(in_o, "rand_data"); - g_rand_length = strlen(g_rand_data); + g_rand_length = sipc_util_marshal_object_get_int(in_o, "rand_data_length"); + + dbg("tmp - g_auth_type[%s]",g_auth_type); + if(g_rand_length) + dbg("tmp - g_rand_data[%s]",g_rand_data); + if(g_autn_length) + dbg("tmp - g_autn_data[%s]",g_autn_data); + + if (!g_strcmp0(g_auth_type, "ims")) { + req_auth.auth_type = SIM_AUTH_TYPE_IMS; + } else if (!g_strcmp0(g_auth_type, "gsm")) { + req_auth.auth_type = SIM_AUTH_TYPE_GSM; + } else if (!g_strcmp0(g_auth_type, "3g")) { + req_auth.auth_type = SIM_AUTH_TYPE_3G; + } else { + result = FALSE; + goto RETURN; + } - req_auth.auth_type = g_auth_type; req_auth.autn_length = g_autn_length; if(req_auth.autn_length) memcpy(req_auth.autn_data, g_autn_data, req_auth.autn_length); @@ -220,14 +324,31 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu case TAPI_SERVICE_SIM_VERIFYSEC : { struct treq_sim_verify_pins verify_pins = { 0, }; - enum tel_sim_pin_type g_pin_type; + gchar *g_pin_type = NULL; unsigned int g_pin_length; - unsigned char *g_pin; - g_pin_type = sipc_util_marshal_object_get_int(in_o, "type"); + unsigned char *g_pin = NULL; + g_pin_type = sipc_util_marshal_object_get_string(in_o, "type"); g_pin = sipc_util_marshal_object_get_string(in_o, "pw"); g_pin_length = strlen(g_pin); - verify_pins.pin_type = g_pin_type; + dbg("tmp - g_pin_type[%s]",g_pin_type); + dbg("tmp - g_pin_length[%d]",g_pin_length); + if(g_pin_length) + dbg("tmp - g_pin[%s]",g_pin); + + if (!g_strcmp0(g_pin_type, "pin1")) { + verify_pins.pin_type = SIM_PTYPE_PIN1; + } else if (!g_strcmp0(g_pin_type, "pin2")) { + verify_pins.pin_type = SIM_PTYPE_PIN2; + } else if (!g_strcmp0(g_pin_type, "admin")) { + verify_pins.pin_type = SIM_PTYPE_ADM; + } else if (!g_strcmp0(g_pin_type, "sim")) { + verify_pins.pin_type = SIM_PTYPE_SIM; + } else { + result = FALSE; + goto RETURN; + } + verify_pins.pin_length = g_pin_length; memcpy(verify_pins.pin, g_pin, verify_pins.pin_length); @@ -238,18 +359,32 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu case TAPI_SERVICE_SIM_VERIFYPUK : { struct treq_sim_verify_puks verify_puks = { 0, }; - enum tel_sim_pin_type g_puk_type; + gchar *g_puk_type = NULL; unsigned int g_puk_length; - unsigned char *g_puk; + unsigned char *g_puk = NULL; unsigned int g_pin_length; - unsigned char *g_pin; - g_puk_type = sipc_util_marshal_object_get_int(in_o, "type"); + unsigned char *g_pin = NULL; + g_puk_type = sipc_util_marshal_object_get_string(in_o, "type"); g_puk = sipc_util_marshal_object_get_string(in_o, "puk"); g_puk_length = strlen(g_puk); g_pin = sipc_util_marshal_object_get_string(in_o, "pin"); g_pin_length = strlen(g_pin); - verify_puks.puk_type = g_puk_type; + dbg("tmp - g_puk_type[%s]",g_puk_type); + if(g_puk_length) + dbg("tmp - g_puk[%s]",g_puk); + if(g_pin_length) + dbg("tmp - g_pin[%s]",g_pin); + + if (!g_strcmp0(g_puk_type, "puk1")) { + verify_puks.puk_type = SIM_PTYPE_PUK1; + } else if (!g_strcmp0(g_puk_type, "puk2")) { + verify_puks.puk_type = SIM_PTYPE_PUK2; + } else { + result = FALSE; + goto RETURN; + } + verify_puks.puk_length = g_puk_length; memcpy(verify_puks.puk, g_puk, verify_puks.puk_length); verify_puks.pin_length = g_pin_length; @@ -262,18 +397,32 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu case TAPI_SERVICE_SIM_CHANGEPIN : { struct treq_sim_change_pins change_pins = { 0, }; - enum tel_sim_pin_type g_type; + gchar *g_type = NULL; unsigned int g_old_pw_length; - unsigned char *g_old_pw; + unsigned char *g_old_pw = NULL; unsigned int g_new_pw_length; - unsigned char *g_new_pw; - g_type = sipc_util_marshal_object_get_int(in_o, "type"); + unsigned char *g_new_pw = NULL; + g_type = sipc_util_marshal_object_get_string(in_o, "type"); g_old_pw = sipc_util_marshal_object_get_string(in_o, "old_pw"); g_old_pw_length = strlen(g_old_pw); g_new_pw = sipc_util_marshal_object_get_string(in_o, "new_pw"); g_new_pw_length = strlen(g_new_pw); - change_pins.type = g_type; + dbg("tmp - g_type[%s]",g_type); + if(g_old_pw_length) + dbg("tmp - g_old_pw[%s]",g_old_pw); + if(g_new_pw_length) + dbg("tmp - g_new_pw[%s]",g_new_pw); + + if (!g_strcmp0(g_type, "pin1")) { + change_pins.type = SIM_PTYPE_PIN1; + } else if (!g_strcmp0(g_type, "pin2")) { + change_pins.type = SIM_PTYPE_PIN2; + } else { + result = FALSE; + goto RETURN; + } + change_pins.old_pin_length = g_old_pw_length; memcpy(change_pins.old_pin, g_old_pw, change_pins.old_pin_length); change_pins.new_pin_length = g_new_pw_length; @@ -286,14 +435,36 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu case TAPI_SERVICE_SIM_DISABLE_FACILITY : { struct treq_sim_disable_facility dis_facility = { 0, }; - enum tel_sim_facility_type g_dis_type; + gchar *g_dis_type = NULL; unsigned int g_dis_pw_length; - unsigned char *g_dis_pw; - g_dis_type = sipc_util_marshal_object_get_int(in_o, "type"); + unsigned char *g_dis_pw = NULL; + g_dis_type = sipc_util_marshal_object_get_string(in_o, "type"); g_dis_pw = sipc_util_marshal_object_get_string(in_o, "pw"); g_dis_pw_length = strlen(g_dis_pw); - dis_facility.type = g_dis_type; + dbg("tmp - g_dis_type[%s]",g_dis_type); + if(g_dis_pw_length) + dbg("tmp - g_dis_pw[%s]",g_dis_pw); + + if (!g_strcmp0(g_dis_type, "ps")) { + dis_facility.type = SIM_FACILITY_PS; + } else if (!g_strcmp0(g_dis_type, "sc")) { + dis_facility.type = SIM_FACILITY_SC; + } else if (!g_strcmp0(g_dis_type, "fd")) { + dis_facility.type = SIM_FACILITY_FD; + } else if (!g_strcmp0(g_dis_type, "pn")) { + dis_facility.type = SIM_FACILITY_PN; + } else if (!g_strcmp0(g_dis_type, "pu")) { + dis_facility.type = SIM_FACILITY_PU; + } else if (!g_strcmp0(g_dis_type, "pp")) { + dis_facility.type = SIM_FACILITY_PP; + } else if (!g_strcmp0(g_dis_type, "pc")) { + dis_facility.type = SIM_FACILITY_PC; + } else { + result = FALSE; + goto RETURN; + } + dis_facility.password_length = g_dis_pw_length; memcpy(dis_facility.password, g_dis_pw, dis_facility.password_length); @@ -304,14 +475,36 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu case TAPI_SERVICE_SIM_ENABLE_FACILITY : { struct treq_sim_enable_facility en_facility = { 0, }; - enum tel_sim_facility_type g_en_type; + gchar *g_en_type = NULL; unsigned int g_en_pw_length; - unsigned char *g_en_pw; - g_en_type = sipc_util_marshal_object_get_int(in_o, "type"); + unsigned char *g_en_pw = NULL; + g_en_type = sipc_util_marshal_object_get_string(in_o, "type"); g_en_pw = sipc_util_marshal_object_get_string(in_o, "pw"); g_en_pw_length = strlen(g_en_pw); - en_facility.type = g_en_type; + dbg("tmp - g_en_type[%s]",g_en_type); + if(g_en_pw_length) + dbg("tmp - g_en_pw[%s]",g_en_pw); + + if (!g_strcmp0(g_en_type, "ps")) { + en_facility.type = SIM_FACILITY_PS; + } else if (!g_strcmp0(g_en_type, "sc")) { + en_facility.type = SIM_FACILITY_SC; + } else if (!g_strcmp0(g_en_type, "fd")) { + en_facility.type = SIM_FACILITY_FD; + } else if (!g_strcmp0(g_en_type, "pn")) { + en_facility.type = SIM_FACILITY_PN; + } else if (!g_strcmp0(g_en_type, "pu")) { + en_facility.type = SIM_FACILITY_PU; + } else if (!g_strcmp0(g_en_type, "pp")) { + en_facility.type = SIM_FACILITY_PP; + } else if (!g_strcmp0(g_en_type, "pc")) { + en_facility.type = SIM_FACILITY_PC; + } else { + result = FALSE; + goto RETURN; + } + en_facility.password_length = g_en_pw_length; memcpy(en_facility.password, g_en_pw, en_facility.password_length); @@ -322,10 +515,28 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu case TAPI_SERVICE_SIM_GET_FACILITY : { struct treq_sim_get_facility_status facility = { 0, }; - enum tel_sim_facility_type g_facility_type; - sipc_util_marshal_object_get_data(in_o, "type", (void **)&g_facility_type, TAPI_OBJECT_DATA_TYPE_INT); - - facility.type = g_facility_type; + gchar *g_facility_type = NULL; + g_facility_type = sipc_util_marshal_object_get_string(in_o, "type"); + dbg("tmp - g_facility_type[%s]",g_facility_type); + + if (!g_strcmp0(g_facility_type, "ps")) { + facility.type = SIM_FACILITY_PS; + } else if (!g_strcmp0(g_facility_type, "sc")) { + facility.type = SIM_FACILITY_SC; + } else if (!g_strcmp0(g_facility_type, "fd")) { + facility.type = SIM_FACILITY_FD; + } else if (!g_strcmp0(g_facility_type, "pn")) { + facility.type = SIM_FACILITY_PN; + } else if (!g_strcmp0(g_facility_type, "pu")) { + facility.type = SIM_FACILITY_PU; + } else if (!g_strcmp0(g_facility_type, "pp")) { + facility.type = SIM_FACILITY_PP; + } else if (!g_strcmp0(g_facility_type, "pc")) { + facility.type = SIM_FACILITY_PC; + } else { + result = FALSE; + goto RETURN; + } tcore_user_request_set_data(ur, sizeof(struct treq_sim_get_facility_status), &facility); tcore_user_request_set_command(ur, TREQ_SIM_GET_FACILITY_STATUS); @@ -335,9 +546,9 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu case TAPI_SERVICE_SIM_APDU : { struct treq_sim_transmit_apdu send_apdu ={ 0, }; gint g_apdu_length; - gchar *g_apdu; + gchar *g_apdu = NULL; + g_apdu_length = sipc_util_marshal_object_get_int(in_o, "apdu_length"); g_apdu = sipc_util_marshal_object_get_string(in_o, "apdu"); - g_apdu_length = strlen(g_apdu); send_apdu.apdu_length = (unsigned int)g_apdu_length; memcpy(send_apdu.apdu, g_apdu, send_apdu.apdu_length); @@ -356,18 +567,33 @@ gboolean scomm_service_reqeust_sim(unsigned int ch_id, Communicator *c, TcorePlu break; } - if (cmd == TAPI_SERVICE_SIM_GET_SIMINITINFO || cmd == TAPI_SERVICE_SIM_GET_TYPE - || cmd == TAPI_SERVICE_SIM_GET_IMSI ) { - /*synchronous data return case*/ +RETURN: + sipc_util_marshal_object_destory(in_o); + sipc_util_marshal_object_add_data(out_o.mo, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + + dbg("result = %d", result); + + tmp = sipc_util_marshal_object_serializer(out_o.mo); + tmp_len = strlen(tmp); + *outparam = g_new0(char, tmp_len+1); + memcpy(*outparam, tmp, tmp_len); + sipc_util_marshal_object_destory(out_o.mo); + g_free(tmp); + + if ( cmd !=TAPI_SERVICE_SIM_GET_SIMINITINFO + && cmd != TAPI_SERVICE_SIM_GET_TYPE + && cmd != TAPI_SERVICE_SIM_GET_IMSI ) { + if (result == FALSE) { + tcore_user_request_unref(ur); + return FALSE; + } - } else { - /*asynchronous data return case*/ ret = tcore_communicator_dispatch_request(c, ur); if (ret != TCORE_RETURN_SUCCESS) { + dbg("error - dispatch result[%d]", ret); return FALSE; } } - return TRUE; } @@ -413,112 +639,319 @@ gboolean scomm_service_response_sim(Communicator *comm, UserRequest *ur, enum tc out_o = sipc_util_marshal_object_create(); switch (command) { - case TRESP_SIM_VERIFY_PINS: + case TRESP_SIM_VERIFY_PINS: { + gchar *gtype = NULL; dbg("resp comm - TRESP_SIM_VERIFY_PINS"); + + if (resp_verify_pins->pin_type == SIM_PTYPE_PIN1) { + gtype = "pin1\0"; + } else if (resp_verify_pins->pin_type == SIM_PTYPE_PIN2) { + gtype = "pin2\0"; + } else if (resp_verify_pins->pin_type == SIM_PTYPE_ADM) { + gtype = "adm\0"; + } else if (resp_verify_pins->pin_type == SIM_PTYPE_SIM) { + gtype = "sim\0"; + } else { + dbg("error - [%d] is not handled case in here", resp_verify_pins->pin_type); + } + dbg("gtype[%s]",gtype); sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_verify_pins->result, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(out_o, "type", (void*)&resp_verify_pins->pin_type, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_o, "type", (void*)gtype, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(out_o, "remain_count", (void*)&resp_verify_pins->retry_count, SIPC_MARSHAL_DATA_INT_TYPE); + } break; - case TRESP_SIM_VERIFY_PUKS: + case TRESP_SIM_VERIFY_PUKS: { + gchar *gtype = NULL; dbg("resp comm - TRESP_SIM_VERIFY_PUKS"); + + if (resp_verify_puks->pin_type == SIM_PTYPE_PUK1) { + gtype = "puk1\0"; + } else if (resp_verify_puks->pin_type == SIM_PTYPE_PUK2) { + gtype = "puk2\0"; + } else { + dbg("error - [%d] is not handled case in here", resp_verify_puks->pin_type); + } + dbg("gtype[%s]",gtype); sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_verify_puks->result, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(out_o, "type", (void*)&resp_verify_puks->pin_type, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_o, "type", (void*)gtype, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(out_o, "remain_count", (void*)&resp_verify_puks->retry_count, SIPC_MARSHAL_DATA_INT_TYPE); + } break; - case TRESP_SIM_CHANGE_PINS: + case TRESP_SIM_CHANGE_PINS: { + gchar *gtype = NULL; dbg("resp comm - TRESP_SIM_CHANGE_PINS"); + + if (resp_change_pins->pin_type == SIM_PTYPE_PIN1) { + gtype = "pin1\0"; + } else if (resp_change_pins->pin_type == SIM_PTYPE_PIN2) { + gtype = "pin2\0"; + } else { + dbg("error - [%d] is not handled case in here", resp_change_pins->pin_type); + } + dbg("gtype[%s]",gtype); sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_change_pins->result, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(out_o, "type", (void*)&resp_change_pins->pin_type, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_o, "type", (void*)gtype, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(out_o, "remain_count", (void*)&resp_change_pins->retry_count, SIPC_MARSHAL_DATA_INT_TYPE); + } break; - case TRESP_SIM_GET_FACILITY_STATUS: + case TRESP_SIM_GET_FACILITY_STATUS: { + gchar *ftype = NULL; + gchar *gstatus = NULL; dbg("resp comm - TRESP_SIM_GET_FACILITY_STATUS"); + + if (resp_get_facility->type == SIM_FACILITY_PS) { + ftype = "ps\0"; + } else if (resp_get_facility->type == SIM_FACILITY_SC) { + ftype = "sc\0"; + } else if (resp_get_facility->type == SIM_FACILITY_FD) { + ftype = "fd\0"; + } else if (resp_get_facility->type == SIM_FACILITY_PN) { + ftype = "pn\0"; + } else if (resp_get_facility->type == SIM_FACILITY_PU) { + ftype = "pu\0"; + } else if (resp_get_facility->type == SIM_FACILITY_PP) { + ftype = "pp\0"; + } else if (resp_get_facility->type == SIM_FACILITY_PC) { + ftype = "pc\0"; + } else { + dbg("error - [%d] is not handled case in here", resp_get_facility->type); + } + dbg("ftype[%s]",ftype); sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_get_facility->result, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(out_o, "type", (void*)&resp_get_facility->type, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(out_o, "enabled", (void*)&resp_get_facility->b_enable, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + sipc_util_marshal_object_add_data(out_o, "type", (void*)ftype, SIPC_MARSHAL_DATA_STRING_TYPE); + + if (resp_get_facility->result == SIM_PUK_REQUIRED) { + gstatus = "blocked\0"; + } else if (resp_get_facility->result == SIM_CARD_ERROR) { + gstatus = "permanent_blocked\0"; + } else if (resp_get_facility->result == SIM_PIN_OPERATION_SUCCESS) { + if ( resp_get_facility->b_enable ) + gstatus = "enabled\0"; + else + gstatus = "disabled\0"; + } else { + gstatus = "unknown\0"; + } + dbg("gstatus[%s]",gstatus); + sipc_util_marshal_object_add_data(out_o, "status", (void*)gstatus, SIPC_MARSHAL_DATA_STRING_TYPE); + } break; - case TRESP_SIM_DISABLE_FACILITY: + case TRESP_SIM_DISABLE_FACILITY: { + gchar *ftype = NULL; dbg("resp comm - TRESP_SIM_DISABLE_FACILITY"); + if (resp_dis_facility->type == SIM_FACILITY_PS) { + ftype = "ps\0"; + } else if (resp_dis_facility->type == SIM_FACILITY_SC) { + ftype = "sc\0"; + } else if (resp_dis_facility->type == SIM_FACILITY_FD) { + ftype = "fd\0"; + } else if (resp_dis_facility->type == SIM_FACILITY_PN) { + ftype = "pn\0"; + } else if (resp_dis_facility->type == SIM_FACILITY_PU) { + ftype = "pu\0"; + } else if (resp_dis_facility->type == SIM_FACILITY_PP) { + ftype = "pp\0"; + } else if (resp_dis_facility->type == SIM_FACILITY_PC) { + ftype = "pc\0"; + } else { + dbg("error - [%d] is not handled case in here", resp_dis_facility->type); + } + dbg("ftype[%s]",ftype); sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_dis_facility->result, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(out_o, "type", (void*)&resp_dis_facility->type, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_o, "type", (void*)ftype, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(out_o, "remain_count", (void*)&resp_dis_facility->retry_count, SIPC_MARSHAL_DATA_INT_TYPE); + } break; - case TRESP_SIM_ENABLE_FACILITY: + case TRESP_SIM_ENABLE_FACILITY: { + gchar *ftype = NULL; dbg("resp comm - TRESP_SIM_ENABLE_FACILITY"); + if (resp_en_facility->type == SIM_FACILITY_PS) { + ftype = "ps\0"; + } else if (resp_en_facility->type == SIM_FACILITY_SC) { + ftype = "sc\0"; + } else if (resp_en_facility->type == SIM_FACILITY_FD) { + ftype = "fd\0"; + } else if (resp_en_facility->type == SIM_FACILITY_PN) { + ftype = "pn\0"; + } else if (resp_en_facility->type == SIM_FACILITY_PU) { + ftype = "pu\0"; + } else if (resp_en_facility->type == SIM_FACILITY_PP) { + ftype = "pp\0"; + } else if (resp_en_facility->type == SIM_FACILITY_PC) { + ftype = "pc\0"; + } else { + dbg("error - [%d] is not handled case in here", resp_en_facility->type); + } + dbg("ftype[%s]",ftype); sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_en_facility->result, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(out_o, "type", (void*)&resp_en_facility->type, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_o, "type", (void*)ftype, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(out_o, "remain_count", (void*)&resp_en_facility->retry_count, SIPC_MARSHAL_DATA_INT_TYPE); + } break; - case TRESP_SIM_TRANSMIT_APDU: + case TRESP_SIM_TRANSMIT_APDU: { + gchar *access_rt = NULL; dbg("resp comm - TRESP_SIM_TRANSMIT_APDU"); - sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_apdu->result, SIPC_MARSHAL_DATA_INT_TYPE); + access_rt = _convert_access_result_to_string(resp_apdu->result); + sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE); + sipc_util_marshal_object_add_data(out_o, "apdu_length", (void*)&resp_apdu->apdu_resp_length, SIPC_MARSHAL_DATA_INT_TYPE); sipc_util_marshal_object_add_data(out_o, "apdu", (void*)&resp_apdu->apdu_resp, SIPC_MARSHAL_DATA_STRING_TYPE); + } break; - case TRESP_SIM_GET_ATR: + case TRESP_SIM_GET_ATR: { + gchar *access_rt = NULL; dbg("resp comm - TRESP_SIM_GET_ATR"); - sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_get_atr->result, SIPC_MARSHAL_DATA_INT_TYPE); + access_rt = _convert_access_result_to_string(resp_get_atr->result); + sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE); + sipc_util_marshal_object_add_data(out_o, "atr_length", (void*)&resp_get_atr->atr_length, SIPC_MARSHAL_DATA_INT_TYPE); sipc_util_marshal_object_add_data(out_o, "atr", (void*)&resp_get_atr->atr, SIPC_MARSHAL_DATA_STRING_TYPE); + } break; - case TRESP_SIM_REQ_AUTHENTICATION: + case TRESP_SIM_REQ_AUTHENTICATION: { + gchar *access_rt = NULL; + gchar *auth_rt = NULL; dbg("resp comm - TRESP_SIM_REQ_AUTHENTICATION"); - sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_auth->auth_result, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(out_o, "type", (void*)&resp_auth->auth_type, SIPC_MARSHAL_DATA_STRING_TYPE); + access_rt = _convert_access_result_to_string(resp_auth->result); + sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE); + sipc_util_marshal_object_add_data(out_o, "type", (void*)&resp_auth->auth_type, SIPC_MARSHAL_DATA_INT_TYPE); + + switch (resp_auth->auth_result) { + case SIM_AUTH_NO_ERROR: + auth_rt = "ok\0"; + break; + case SIM_AUTH_CANNOT_PERFORM: + auth_rt = "can_not_perform\0"; + break; + case SIM_AUTH_SKIP_RESPONSE: + auth_rt = "skip_response\0"; + break; + case SIM_AUTH_MAK_CODE_FAILURE: + auth_rt = "mak_failure\0"; + break; + case SIM_AUTH_SQN_FAILURE: + auth_rt = "sqn_failure\0"; + break; + case SIM_AUTH_SYNCH_FAILURE: + auth_rt = "synch_failure\0"; + break; + case SIM_AUTH_UNSUPPORTED_CONTEXT: + auth_rt = "unsupported_context\0"; + break; + default: + dbg("[%d] is not handled in here",resp_auth->auth_result ); + auth_rt = ""; + break; + } + sipc_util_marshal_object_add_data(out_o, "auth_result", (void*)auth_rt, SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_o, "authentication_key_length", (void*)&resp_auth->authentication_key_length, SIPC_MARSHAL_DATA_INT_TYPE); if(resp_auth->authentication_key_length) sipc_util_marshal_object_add_data(out_o, "authentication_key", (void*)&resp_auth->authentication_key, SIPC_MARSHAL_DATA_STRING_TYPE); + sipc_util_marshal_object_add_data(out_o, "cipher_length", (void*)&resp_auth->cipher_length, SIPC_MARSHAL_DATA_INT_TYPE); if(resp_auth->cipher_length) sipc_util_marshal_object_add_data(out_o, "cipher_data", (void*)&resp_auth->cipher_data, SIPC_MARSHAL_DATA_STRING_TYPE); + sipc_util_marshal_object_add_data(out_o, "integrity_length", (void*)&resp_auth->integrity_length, SIPC_MARSHAL_DATA_INT_TYPE); if(resp_auth->integrity_length) sipc_util_marshal_object_add_data(out_o, "integrity_data", (void*)&resp_auth->integrity_data, SIPC_MARSHAL_DATA_STRING_TYPE); + sipc_util_marshal_object_add_data(out_o, "resp_length", (void*)&resp_auth->resp_length, SIPC_MARSHAL_DATA_INT_TYPE); if(resp_auth->resp_length) sipc_util_marshal_object_add_data(out_o, "resp_data", (void*)&resp_auth->resp_data, SIPC_MARSHAL_DATA_STRING_TYPE); + } break; - case TRESP_SIM_SET_LANGUAGE: + case TRESP_SIM_SET_LANGUAGE: { + gchar *access_rt = NULL; dbg("resp comm - TRESP_SIM_SET_LANGUAGE"); - sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_set_language->result, SIPC_MARSHAL_DATA_INT_TYPE); + access_rt = _convert_access_result_to_string(resp_read->result); + sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE); + } break; - case TRESP_SIM_GET_ECC: + case TRESP_SIM_GET_ECC: { + gchar *access_rt = NULL; dbg("resp comm - TRESP_SIM_GET_ECC"); - sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE); + access_rt = _convert_access_result_to_string(resp_read->result); + sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(out_o, "count", (void*)&resp_read->data.ecc.ecc_count, SIPC_MARSHAL_DATA_INT_TYPE); - entry_o = sipc_util_marshal_object_create(); + + dbg("tmp - resp_read->data.ecc.ecc_count[%d]",resp_read->data.ecc.ecc_count); + for(i=0;i < resp_read->data.ecc.ecc_count; i++){ gchar *entry_key = NULL; + gchar *gcategory = NULL; + entry_o = sipc_util_marshal_object_create(); + dbg("tmp - resp_read->data.ecc.ecc[%d].ecc_string[%s]",i, resp_read->data.ecc.ecc[i].ecc_string); + dbg("tmp - resp_read->data.ecc.ecc[%d].ecc_num[%s]",i, resp_read->data.ecc.ecc[i].ecc_num); + dbg("tmp - resp_read->data.ecc.ecc[%d].ecc_category[%d]",i, resp_read->data.ecc.ecc[i].ecc_category); sipc_util_marshal_object_add_data(entry_o, "name", (void*)&resp_read->data.ecc.ecc[i].ecc_string, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(entry_o, "number", (void*)&resp_read->data.ecc.ecc[i].ecc_num, SIPC_MARSHAL_DATA_STRING_TYPE); - sipc_util_marshal_object_add_data(entry_o, "category", (void*)&resp_read->data.ecc.ecc[i].ecc_category, SIPC_MARSHAL_DATA_INT_TYPE); + + switch (resp_read->data.ecc.ecc[i].ecc_category) { + case SIM_ECC_POLICE: + gcategory = "police\0"; + break; + case SIM_ECC_AMBULANCE: + gcategory = "ambulance\0"; + break; + case SIM_ECC_FIREBRIGADE : + gcategory = "firebrigade\0"; + break; + case SIM_ECC_MARAINEGUARD : + gcategory = "maraineguard\0"; + break; + case SIM_ECC_MOUTAINRESCUE : + gcategory = "mountainrescue\0"; + break; + case SIM_ECC_SPARE : + default: + gcategory = "spare\0"; + break; + } + sipc_util_marshal_object_add_data(entry_o, "category", (void*)gcategory, SIPC_MARSHAL_DATA_STRING_TYPE); entry_key = g_strdup_printf("%d", i); sipc_util_marshal_object_add_data(out_o, entry_key, entry_o, SIPC_MARSHAL_DATA_OBJECT_TYPE); } + } break; - case TRESP_SIM_GET_LANGUAGE: + case TRESP_SIM_GET_LANGUAGE: { + gchar *access_rt = NULL; + char *language_tb[] = { "de", "en", "it", "fr", "es", "nl", "sv", "da", "pt", "fi", "no", "el", + "tr", "hu", "pl", "ko", "zh", "ru", "ja" }; dbg("resp comm - TRESP_SIM_GET_LANGUAGE"); - sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(out_o, "language", (void*)&resp_read->data.language.language[0] , SIPC_MARSHAL_DATA_INT_TYPE); + access_rt = _convert_access_result_to_string(resp_read->result); + dbg("tmp - access_rt[%s]",access_rt); + dbg("tmp - resp_read->data.language.language[0][%d]",resp_read->data.language.language[0]); + sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE); + dbg("tmp-language[%s]",language_tb[resp_read->data.language.language[0]]); + sipc_util_marshal_object_add_data(out_o, "language", (void*)language_tb[resp_read->data.language.language[0]] , SIPC_MARSHAL_DATA_STRING_TYPE); + } break; - case TRESP_SIM_GET_ICCID: + case TRESP_SIM_GET_ICCID: { + gchar *access_rt = NULL; dbg("resp comm - TRESP_SIM_GET_ICCID"); - sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE); + access_rt = _convert_access_result_to_string(resp_read->result); + sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(out_o, "iccid", (void*)&resp_read->data.iccid.iccid , SIPC_MARSHAL_DATA_STRING_TYPE); + } break; - case TRESP_SIM_GET_MAILBOX: + case TRESP_SIM_GET_MAILBOX: { + gchar *access_rt = NULL; dbg("resp comm - TRESP_SIM_GET_MAILBOX"); - sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE); - entry_o = sipc_util_marshal_object_create(); + access_rt = _convert_access_result_to_string(resp_read->result); + sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE); + if(resp_read->data.mailbox.voice1.DiallingnumLength){ count ++; + entry_o = sipc_util_marshal_object_create(); sipc_util_marshal_object_add_data(entry_o, "type", "voice1", SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(entry_o, "name", (void*)&resp_read->data.mailbox.voice1.AlphaId, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(entry_o, "number", (void*)&resp_read->data.mailbox.voice1.DiallingNum , SIPC_MARSHAL_DATA_STRING_TYPE); @@ -526,10 +959,15 @@ gboolean scomm_service_response_sim(Communicator *comm, UserRequest *ur, enum tc sipc_util_marshal_object_add_data(entry_o, "npi", (void*)&resp_read->data.mailbox.voice1.NumberingPlanIdent , SIPC_MARSHAL_DATA_INT_TYPE); entry_key = g_strdup_printf("%d", count); sipc_util_marshal_object_add_data(out_o, entry_key, entry_o, SIPC_MARSHAL_DATA_OBJECT_TYPE); + dbg("tmp - resp_read->data.mailbox.voice1.AlphaId[%s]",resp_read->data.mailbox.voice1.AlphaId); + dbg("tmp - resp_read->data.mailbox.voice1.DiallingNum[%s]",resp_read->data.mailbox.voice1.DiallingNum); + dbg("tmp - resp_read->data.mailbox.voice1.TypeOfNumber[%d]",resp_read->data.mailbox.voice1.TypeOfNumber); + dbg("tmp - resp_read->data.mailbox.voice1.NumberingPlanIdent[%d]",resp_read->data.mailbox.voice1.NumberingPlanIdent); } if(resp_read->data.mailbox.voice2.DiallingnumLength){ count ++; + entry_o = sipc_util_marshal_object_create(); sipc_util_marshal_object_add_data(entry_o, "type", "voice2", SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(entry_o, "name", (void*)&resp_read->data.mailbox.voice2.AlphaId, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(entry_o, "number", (void*)&resp_read->data.mailbox.voice2.DiallingNum , SIPC_MARSHAL_DATA_STRING_TYPE); @@ -537,10 +975,15 @@ gboolean scomm_service_response_sim(Communicator *comm, UserRequest *ur, enum tc sipc_util_marshal_object_add_data(entry_o, "npi", (void*)&resp_read->data.mailbox.voice2.NumberingPlanIdent , SIPC_MARSHAL_DATA_INT_TYPE); entry_key = g_strdup_printf("%d", count); sipc_util_marshal_object_add_data(out_o, entry_key, entry_o, SIPC_MARSHAL_DATA_OBJECT_TYPE); + dbg("tmp - resp_read->data.mailbox.voice2.AlphaId[%s]",resp_read->data.mailbox.voice2.AlphaId); + dbg("tmp - resp_read->data.mailbox.voice2.DiallingNum[%s]",resp_read->data.mailbox.voice2.DiallingNum); + dbg("tmp - resp_read->data.mailbox.voice2.TypeOfNumber[%d]",resp_read->data.mailbox.voice2.TypeOfNumber); + dbg("tmp - resp_read->data.mailbox.voice2.NumberingPlanIdent[%d]",resp_read->data.mailbox.voice2.NumberingPlanIdent); } if(resp_read->data.mailbox.fax.DiallingnumLength){ count ++; + entry_o = sipc_util_marshal_object_create(); sipc_util_marshal_object_add_data(entry_o, "type", "fax", SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(entry_o, "name", (void*)&resp_read->data.mailbox.fax.AlphaId, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(entry_o, "number", (void*)&resp_read->data.mailbox.fax.DiallingNum , SIPC_MARSHAL_DATA_STRING_TYPE); @@ -548,10 +991,15 @@ gboolean scomm_service_response_sim(Communicator *comm, UserRequest *ur, enum tc sipc_util_marshal_object_add_data(entry_o, "npi", (void*)&resp_read->data.mailbox.fax.NumberingPlanIdent , SIPC_MARSHAL_DATA_INT_TYPE); entry_key = g_strdup_printf("%d", count); sipc_util_marshal_object_add_data(out_o, entry_key, entry_o, SIPC_MARSHAL_DATA_OBJECT_TYPE); + dbg("tmp - resp_read->data.mailbox.fax.AlphaId[%s]",resp_read->data.mailbox.fax.AlphaId); + dbg("tmp - resp_read->data.mailbox.fax.DiallingNum[%s]",resp_read->data.mailbox.fax.DiallingNum); + dbg("tmp - resp_read->data.mailbox.fax.TypeOfNumber[%d]",resp_read->data.mailbox.fax.TypeOfNumber); + dbg("tmp - resp_read->data.mailbox.fax.NumberingPlanIdent[%d]",resp_read->data.mailbox.fax.NumberingPlanIdent); } if(resp_read->data.mailbox.video.DiallingnumLength){ count ++; + entry_o = sipc_util_marshal_object_create(); sipc_util_marshal_object_add_data(entry_o, "type", "video", SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(entry_o, "name", (void*)&resp_read->data.mailbox.video.AlphaId, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(entry_o, "number", (void*)&resp_read->data.mailbox.video.DiallingNum , SIPC_MARSHAL_DATA_STRING_TYPE); @@ -559,64 +1007,105 @@ gboolean scomm_service_response_sim(Communicator *comm, UserRequest *ur, enum tc sipc_util_marshal_object_add_data(entry_o, "npi", (void*)&resp_read->data.mailbox.video.NumberingPlanIdent , SIPC_MARSHAL_DATA_INT_TYPE); entry_key = g_strdup_printf("%d", count); sipc_util_marshal_object_add_data(out_o, entry_key, entry_o, SIPC_MARSHAL_DATA_OBJECT_TYPE); + dbg("tmp - resp_read->data.mailbox.video.AlphaId[%s]",resp_read->data.mailbox.video.AlphaId); + dbg("tmp - resp_read->data.mailbox.video.DiallingNum[%s]",resp_read->data.mailbox.video.DiallingNum); + dbg("tmp - resp_read->data.mailbox.video.TypeOfNumber[%d]",resp_read->data.mailbox.video.TypeOfNumber); + dbg("tmp - resp_read->data.mailbox.video.NumberingPlanIdent[%d]",resp_read->data.mailbox.video.NumberingPlanIdent); } + sipc_util_marshal_object_add_data(out_o, "count", (void*)&count, SIPC_MARSHAL_DATA_INT_TYPE); + dbg("tmp - count[%d]", count); + } break; - case TRESP_SIM_GET_CALLFORWARDING: + case TRESP_SIM_GET_CALLFORWARDING: { + gchar *access_rt = NULL; dbg("resp comm - TRESP_SIM_GET_CALLFORWARDING"); - sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE); + access_rt = _convert_access_result_to_string(resp_read->result); + sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(out_o, "line1_status", (void*)&resp_read->data.cf.voice1, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); sipc_util_marshal_object_add_data(out_o, "line2_status", (void*)&resp_read->data.cf.voice2, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + dbg("tmp - resp_read->data.cf.voice1[%d]", resp_read->data.cf.voice1); + dbg("tmp - resp_read->data.cf.voice2[%d]", resp_read->data.cf.voice2); + } break; - case TRESP_SIM_GET_MESSAGEWAITING: + case TRESP_SIM_GET_MESSAGEWAITING: { + gchar *access_rt = NULL; dbg("resp comm - TRESP_SIM_GET_MESSAGEWAITING"); - sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE); + access_rt = _convert_access_result_to_string(resp_read->result); + sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE); if (resp_read->data.mw.b_cphs) { sipc_util_marshal_object_add_data(out_o, "line1_count", (void*)&resp_read->data.mw.mw_data_u.cphs_mw.b_voice1, SIPC_MARSHAL_DATA_INT_TYPE); sipc_util_marshal_object_add_data(out_o, "line2_count", (void*)&resp_read->data.mw.mw_data_u.cphs_mw.b_voice2, SIPC_MARSHAL_DATA_INT_TYPE); sipc_util_marshal_object_add_data(out_o, "fax_count", (void*)&resp_read->data.mw.mw_data_u.cphs_mw.b_fax, SIPC_MARSHAL_DATA_INT_TYPE); sipc_util_marshal_object_add_data(out_o, "video_count", (void*)&resp_read->data.mw.mw_data_u.cphs_mw.b_data, SIPC_MARSHAL_DATA_INT_TYPE); + dbg("tmp - resp_read->data.mw.mw_data_u.cphs_mw.b_voice1[%d]", resp_read->data.mw.mw_data_u.cphs_mw.b_voice1); + dbg("tmp - resp_read->data.mw.mw_data_u.cphs_mw.b_voice2[%d]", resp_read->data.mw.mw_data_u.cphs_mw.b_voice2); + dbg("tmp - resp_read->data.mw.mw_data_u.cphs_mw.b_fax[%d]", resp_read->data.mw.mw_data_u.cphs_mw.b_fax); + dbg("tmp - resp_read->data.mw.mw_data_u.cphs_mw.b_data[%d]", resp_read->data.mw.mw_data_u.cphs_mw.b_data); } else { sipc_util_marshal_object_add_data(out_o, "line1_count", (void*)&resp_read->data.mw.mw_data_u.mw.voice_count, SIPC_MARSHAL_DATA_INT_TYPE); /* sipc_util_marshal_object_add_data(out_o, "line2_count", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE);*/ sipc_util_marshal_object_add_data(out_o, "fax_count", (void*)&resp_read->data.mw.mw_data_u.mw.fax_count, SIPC_MARSHAL_DATA_INT_TYPE); sipc_util_marshal_object_add_data(out_o, "video_count", (void*)&resp_read->data.mw.mw_data_u.mw.video_count, SIPC_MARSHAL_DATA_INT_TYPE); + dbg("tmp - resp_read->data.mw.mw_data_u.mw.voice_count[%d]", resp_read->data.mw.mw_data_u.mw.voice_count); + dbg("tmp - resp_read->data.mw.mw_data_u.mw.fax_count[%d]", resp_read->data.mw.mw_data_u.mw.fax_count); + dbg("tmp - resp_read->data.mw.mw_data_u.mw.video_count[%d]", resp_read->data.mw.mw_data_u.mw.video_count); } + dbg("tmp - resp_read->data.mw.b_cphs[%d]", resp_read->data.mw.b_cphs); + } break; - case TRESP_SIM_GET_CPHS_INFO: + case TRESP_SIM_GET_CPHS_INFO: { + gchar *access_rt = NULL; dbg("resp comm - TRESP_SIM_GET_CPHS_INFO"); - sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE); + access_rt = _convert_access_result_to_string(resp_read->result); + sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE); + } break; - case TRESP_SIM_GET_MSISDN: + case TRESP_SIM_GET_MSISDN: { + gchar *access_rt = NULL; dbg("resp comm - TRESP_SIM_GET_MSISDN"); - sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE); + access_rt = _convert_access_result_to_string(resp_read->result); + sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(out_o, "count", (void*)&resp_read->data.msisdn_list.count, SIPC_MARSHAL_DATA_INT_TYPE); - entry_o = sipc_util_marshal_object_create(); + dbg("tmp - resp_read->data.msisdn_list.count[%d]", resp_read->data.msisdn_list.count); + for(i=0;i < resp_read->data.msisdn_list.count; i++){ gchar *entry_key = NULL; + entry_o = sipc_util_marshal_object_create(); sipc_util_marshal_object_add_data(entry_o, "name", (void*)&resp_read->data.msisdn_list.msisdn[i].name, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(entry_o, "number", (void*)&resp_read->data.msisdn_list.msisdn[i].num, SIPC_MARSHAL_DATA_STRING_TYPE); entry_key = g_strdup_printf("%d", i); sipc_util_marshal_object_add_data(out_o, entry_key, entry_o, SIPC_MARSHAL_DATA_OBJECT_TYPE); + dbg("tmp - resp_read->data.msisdn_list.msisdn[%d].name[%s]", i, resp_read->data.msisdn_list.msisdn[i].name); + dbg("tmp - resp_read->data.msisdn_list.msisdn[%d].num[%s]", i, resp_read->data.msisdn_list.msisdn[i].num); } + } break; - case TRESP_SIM_GET_OPLMNWACT: + case TRESP_SIM_GET_OPLMNWACT: { + gchar *access_rt = NULL; dbg("resp comm - TRESP_SIM_GET_OPLMNWACT"); - sipc_util_marshal_object_add_data(out_o, "result", (void*)&resp_read->result, SIPC_MARSHAL_DATA_INT_TYPE); + access_rt = _convert_access_result_to_string(resp_read->result); + sipc_util_marshal_object_add_data(out_o, "result", (void*)access_rt, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(out_o, "count", (void*)&resp_read->data.opwa.opwa_count, SIPC_MARSHAL_DATA_INT_TYPE); - entry_o = sipc_util_marshal_object_create(); + dbg("tmp - resp_read->data.opwa.opwa_count[%d]",resp_read->data.opwa.opwa_count); + for(i=0;i < resp_read->data.opwa.opwa_count; i++){ gchar *entry_key = NULL; + entry_o = sipc_util_marshal_object_create(); sipc_util_marshal_object_add_data(entry_o, "plmn", (void*)&resp_read->data.opwa.opwa[i].plmn, SIPC_MARSHAL_DATA_STRING_TYPE); sipc_util_marshal_object_add_data(entry_o, "b_umts", (void*)&resp_read->data.opwa.opwa[i].b_umts, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); sipc_util_marshal_object_add_data(entry_o, "b_gsm", (void*)&resp_read->data.opwa.opwa[i].b_gsm, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); entry_key = g_strdup_printf("%d", i); sipc_util_marshal_object_add_data(out_o, entry_key, entry_o, SIPC_MARSHAL_DATA_OBJECT_TYPE); + dbg("resp_read->data.opwa.opwa[%d].plmn[%s]",i, resp_read->data.opwa.opwa[i].plmn); + dbg("resp_read->data.opwa.opwa[%d].b_umts[%d]",i, resp_read->data.opwa.opwa[i].b_umts); + dbg("resp_read->data.opwa.opwa[%d].b_gsm[%d]",i, resp_read->data.opwa.opwa[i].b_gsm); } + } break; default: @@ -656,7 +1145,6 @@ gboolean scomm_service_notification_sim(Communicator *comm, CoreObject *source, gchar *out_d = NULL, *serial_d = NULL; struct custom_data *ctx = NULL; - sipc_server_t *s = NULL; struct _tapi_header hdr; struct _sipc_marshal_object* out_o = NULL; @@ -669,24 +1157,27 @@ gboolean scomm_service_notification_sim(Communicator *comm, CoreObject *source, return FALSE; } - s = ctx->sk_server; dbg("notification !!! (command = 0x%x, data_len = %d)", command, data_len); out_o = sipc_util_marshal_object_create(); switch (command) { - case TNOTI_SIM_STATUS : + case TNOTI_SIM_STATUS: dbg("notified sim_status[%d]", n_sim_status->sim_status); - sipc_util_marshal_object_add_data(out_o, "status", (void*)&n_sim_status->sim_status, SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(out_o, "new_sim", (void*)&n_sim_status->b_changed, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + hdr.cmd = TAPI_NOTI_SIM_STATUS; + sipc_util_marshal_object_add_data(out_o, "status", (void*) &n_sim_status->sim_status, + SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(out_o, "new_sim", (void*) &n_sim_status->b_changed, + SIPC_MARSHAL_DATA_BOOLEAN_TYPE); break; - default : - dbg("not handled command [%d] here",command); + default: + dbg("unknown notification"); + return FALSE; break; } - if(out_o){ + if (out_o) { serial_d = sipc_util_marshal_object_serializer(out_o); hdr.data_len = strlen(serial_d); sipc_util_marshal_object_destory(out_o); @@ -694,15 +1185,15 @@ gboolean scomm_service_notification_sim(Communicator *comm, CoreObject *source, out_d = g_new0(char, sizeof(struct _tapi_header)+hdr.data_len); memcpy(out_d, &hdr, sizeof(struct _tapi_header)); - if(serial_d){ - memcpy(out_d+sizeof(struct _tapi_header), serial_d, hdr.data_len); + if (serial_d) { + memcpy(out_d + sizeof(struct _tapi_header), serial_d, hdr.data_len); g_free(serial_d); } - ret = sipc_server_broadcast(s, out_d, sizeof(struct _tapi_header)+hdr.data_len); + ret = sipc_server_broadcast(ctx->sk_server, out_d, sizeof(struct _tapi_header) + hdr.data_len); g_free(out_d); - if(ret < 0){ + if (ret < 0) { return FALSE; } return TRUE; diff --git a/plugin/src/socket_sms.c b/plugin/src/socket_sms.c index a2a105d..ccc97f8 100644 --- a/plugin/src/socket_sms.c +++ b/plugin/src/socket_sms.c @@ -35,7 +35,7 @@ #include #include #include -#include +#include #include "sipc.h" #include "tapi_common.h" @@ -43,9 +43,9 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, TcorePlugin *plugin, tapi_service_command_e cmd, gchar *data, void **outparam) { - struct _sipc_marshal_object *reqObj; - GSList *co_smslist = NULL; - CoreObject *co_sms = NULL; + struct _sipc_marshal_object *out_obj; + struct _sipc_marshal_object *in_obj; + gboolean result = TRUE; UserRequest *ur = NULL; struct tcore_user_info ui = { 0, 0, 0, NULL, 0, 0, NULL }; TReturn ret = TCORE_RETURN_SUCCESS; @@ -62,48 +62,45 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore struct treq_sms_get_cb_config getCbConfig; struct treq_sms_set_cb_config setCbConfig = {0,}; struct treq_sms_set_mem_status memStatus = {0,}; - struct treq_sms_get_pref_brearer getPrefBrearer; - struct treq_sms_set_pref_brearer setPrefBrearer = {0,}; + struct treq_sms_get_pref_bearer getPrefBearer; + struct treq_sms_set_pref_bearer setPrefBearer = {0,}; struct treq_sms_set_delivery_report deliveryReport = {0,}; struct treq_sms_set_msg_status msgStatus = {0,}; struct treq_sms_get_params getParams = {0,}; struct treq_sms_set_params setParams = {0,}; struct treq_sms_get_paramcnt getParamCnt; - co_smslist = tcore_plugin_get_core_objects_bytype(plugin, CORE_OBJECT_TYPE_SMS); - if (!co_smslist) { - err("[tcore_SMS] plugin_get_core_objects_bytype is NULL"); - return FALSE; - } - - co_sms = (CoreObject *)co_smslist->data; - g_slist_free(co_smslist); - - if (!co_sms) { - err("[tcore_SMS] co_sms is NULL !!!"); - return FALSE; + in_obj = sipc_util_marshal_object_deserializer(data); + if (!in_obj) { + dbg("in_obj is NULL"); + result = FALSE; + goto RETURN; } ur = tcore_user_request_new(comm, tcore_plugin_get_description(plugin)->name); + if (!ur) { + dbg("ur is NULL"); + result = FALSE; + goto RETURN; + } + ui.channel_id = ch_id; ui.client_cmd = (unsigned int)cmd; tcore_user_request_set_user_info(ur, &ui); - reqObj = sipc_util_marshal_object_deserializer(data); - switch (cmd) { case TAPI_SERVICE_SMS_SEND_UMTS_MSG: { gchar *sca; gchar *szData; - sca = sipc_util_marshal_object_get_string(reqObj, "Sca"); + sca = sipc_util_marshal_object_get_string(in_obj, "Sca"); memcpy(&(sendUmtsMsg.msgDataPackage.sca[0]), sca, SMS_SMSP_ADDRESS_LEN); - sendUmtsMsg.msgDataPackage.msgLength = sipc_util_marshal_object_get_int(reqObj, "MsgLength"); - szData = sipc_util_marshal_object_get_string(reqObj, "szData"); + sendUmtsMsg.msgDataPackage.msgLength = sipc_util_marshal_object_get_int(in_obj, "MsgLength"); + szData = sipc_util_marshal_object_get_string(in_obj, "szData"); memcpy(&(sendUmtsMsg.msgDataPackage.tpduData[0]), szData, SMS_SMDATA_SIZE_MAX + 1); - sendUmtsMsg.more = sipc_util_marshal_object_get_int(reqObj, "More"); - + sendUmtsMsg.more = sipc_util_marshal_object_get_int(in_obj, "More"); + tcore_user_request_set_data(ur, sizeof(struct treq_sms_send_umts_msg), &sendUmtsMsg); tcore_user_request_set_command(ur, TREQ_SMS_SEND_UMTS_MSG); @@ -111,17 +108,18 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore if (ret != TCORE_RETURN_SUCCESS) { // api_err = TAPI_API_OPERATION_FAILED; err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } - + } break; case TAPI_SERVICE_SMS_SEND_CDMA_MSG: { - - cdmaMsg.more = sipc_util_marshal_object_get_int(reqObj, "More"); - cdmaMsg.cdmaMsgInfo.ParamMask = sipc_util_marshal_object_get_int(reqObj, "ParamMask"); - cdmaMsg.cdmaMsgInfo.MsgType = sipc_util_marshal_object_get_int(reqObj, "MsgType"); - + + cdmaMsg.more = sipc_util_marshal_object_get_int(in_obj, "More"); + cdmaMsg.cdmaMsgInfo.ParamMask = sipc_util_marshal_object_get_int(in_obj, "ParamMask"); + cdmaMsg.cdmaMsgInfo.MsgType = sipc_util_marshal_object_get_int(in_obj, "MsgType"); + switch(cdmaMsg.cdmaMsgInfo.MsgType) { case SMS_MESSAGETYPE_SUBMIT: { @@ -129,152 +127,153 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore gchar *dstSubAddr_szAddress; gchar *szData; gchar *callBackNumer_szAddress; - + /* Origination address */ - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.Digit = sipc_util_marshal_object_get_int(reqObj, "DstAddr.Digit"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.NumberMode = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberMode"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.NumberType = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberType"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.NumberPlan = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberPlan"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.szAddrLength = sipc_util_marshal_object_get_char(reqObj, "DstAddr.szAddrLength"); - dstAddr_szAddress = sipc_util_marshal_object_get_string(reqObj, "DstAddr.szAddress"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.Digit = sipc_util_marshal_object_get_int(in_obj, "DstAddr.Digit"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.NumberMode = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberMode"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.NumberType = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberType"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.NumberPlan = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberPlan"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.szAddrLength = sipc_util_marshal_object_get_char(in_obj, "DstAddr.szAddrLength"); + dstAddr_szAddress = sipc_util_marshal_object_get_string(in_obj, "DstAddr.szAddress"); memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstAddr.szAddress[0]), dstAddr_szAddress, SMS_MAXLENGTH_SMS_ADDRESS); - + /* Origination subaddress */ - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstSubAddr.SubType = sipc_util_marshal_object_get_int(reqObj, "DstSubAddr.SubType"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstSubAddr.Odd = sipc_util_marshal_object_get_char(reqObj, "DstSubAddr.Odd"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstSubAddr.szAddrLength = sipc_util_marshal_object_get_char(reqObj, "DstSubAddr.szAddrLength"); - dstSubAddr_szAddress = sipc_util_marshal_object_get_string(reqObj, "DstSubAddr.szAddress"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstSubAddr.SubType = sipc_util_marshal_object_get_int(in_obj, "DstSubAddr.SubType"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstSubAddr.Odd = sipc_util_marshal_object_get_char(in_obj, "DstSubAddr.Odd"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstSubAddr.szAddrLength = sipc_util_marshal_object_get_char(in_obj, "DstSubAddr.szAddrLength"); + dstSubAddr_szAddress = sipc_util_marshal_object_get_string(in_obj, "DstSubAddr.szAddress"); memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DstSubAddr.szAddress[0]), dstSubAddr_szAddress, SMS_MAXLENGTH_SMS_ADDRESS); - - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.TeleService = sipc_util_marshal_object_get_int(reqObj, "TeleService"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.bBearerReplySeqRequest = sipc_util_marshal_object_get_int(reqObj, "bBearerReplySeqRequest"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ReplySeqNumber = sipc_util_marshal_object_get_char(reqObj, "ReplySeqNumber"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.MsgId = sipc_util_marshal_object_get_int(reqObj, "MsgId"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.MsgEncoding = sipc_util_marshal_object_get_int(reqObj, "MsgEncoding"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.MsgLength = sipc_util_marshal_object_get_int(reqObj, "MsgLength"); - szData = sipc_util_marshal_object_get_string(reqObj, "szData"); + + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.TeleService = sipc_util_marshal_object_get_int(in_obj, "TeleService"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.bBearerReplySeqRequest = sipc_util_marshal_object_get_int(in_obj, "bBearerReplySeqRequest"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ReplySeqNumber = sipc_util_marshal_object_get_char(in_obj, "ReplySeqNumber"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.MsgId = sipc_util_marshal_object_get_int(in_obj, "MsgId"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.MsgEncoding = sipc_util_marshal_object_get_int(in_obj, "MsgEncoding"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.MsgLength = sipc_util_marshal_object_get_int(in_obj, "MsgLength"); + szData = sipc_util_marshal_object_get_string(in_obj, "szData"); memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.szData[0]), szData, SMS_MAXLENGTH_SMS_MO_USER_DATA); /* Validity period - Absolute */ - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.year = sipc_util_marshal_object_get_int(reqObj, "ValidityPeriodAbs.year"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.month = sipc_util_marshal_object_get_int(reqObj, "ValidityPeriodAbs.month"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.day = sipc_util_marshal_object_get_int(reqObj, "ValidityPeriodAbs.day"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.hours = sipc_util_marshal_object_get_int(reqObj, "ValidityPeriodAbs.hours"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.minutes = sipc_util_marshal_object_get_int(reqObj, "ValidityPeriodAbs.minutes"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.seconds = sipc_util_marshal_object_get_int(reqObj, "ValidityPeriodAbs.seconds"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.year = sipc_util_marshal_object_get_int(in_obj, "ValidityPeriodAbs.year"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.month = sipc_util_marshal_object_get_int(in_obj, "ValidityPeriodAbs.month"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.day = sipc_util_marshal_object_get_int(in_obj, "ValidityPeriodAbs.day"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.hours = sipc_util_marshal_object_get_int(in_obj, "ValidityPeriodAbs.hours"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.minutes = sipc_util_marshal_object_get_int(in_obj, "ValidityPeriodAbs.minutes"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodAbs.seconds = sipc_util_marshal_object_get_int(in_obj, "ValidityPeriodAbs.seconds"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodRel = sipc_util_marshal_object_get_char(reqObj, "ValidityPeriodRel"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.ValidityPeriodRel = sipc_util_marshal_object_get_char(in_obj, "ValidityPeriodRel"); /* Deferred delivery time - Absolute (not supported) */ - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.year = sipc_util_marshal_object_get_int(reqObj, "DeferredDelTimeAbs.year"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.month = sipc_util_marshal_object_get_int(reqObj, "DeferredDelTimeAbs.month"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.day = sipc_util_marshal_object_get_int(reqObj, "DeferredDelTimeAbs.day"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.hours = sipc_util_marshal_object_get_int(reqObj, "DeferredDelTimeAbs.hours"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.minutes = sipc_util_marshal_object_get_int(reqObj, "DeferredDelTimeAbs.minutes"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.seconds = sipc_util_marshal_object_get_int(reqObj, "DeferredDelTimeAbs.seconds"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.year = sipc_util_marshal_object_get_int(in_obj, "DeferredDelTimeAbs.year"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.month = sipc_util_marshal_object_get_int(in_obj, "DeferredDelTimeAbs.month"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.day = sipc_util_marshal_object_get_int(in_obj, "DeferredDelTimeAbs.day"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.hours = sipc_util_marshal_object_get_int(in_obj, "DeferredDelTimeAbs.hours"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.minutes = sipc_util_marshal_object_get_int(in_obj, "DeferredDelTimeAbs.minutes"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeAbs.seconds = sipc_util_marshal_object_get_int(in_obj, "DeferredDelTimeAbs.seconds"); /* Deferred delivery time - Relative (not supported) */ - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeRel = sipc_util_marshal_object_get_char(reqObj, "DeferredDelTimeRel"); - - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.Priority = sipc_util_marshal_object_get_int(reqObj, "Priority"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.Privacy = sipc_util_marshal_object_get_int(reqObj, "Privacy"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.bUserAckRequest = sipc_util_marshal_object_get_int(reqObj, "bUserAckRequest"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.bDeliveryAckRequest = sipc_util_marshal_object_get_int(reqObj, "bDeliveryAckRequest"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.AlertPriority= sipc_util_marshal_object_get_int(reqObj, "AlertPriority"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.MsgLang= sipc_util_marshal_object_get_int(reqObj, "MsgLang"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.DeferredDelTimeRel = sipc_util_marshal_object_get_char(in_obj, "DeferredDelTimeRel"); + + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.Priority = sipc_util_marshal_object_get_int(in_obj, "Priority"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.Privacy = sipc_util_marshal_object_get_int(in_obj, "Privacy"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.bUserAckRequest = sipc_util_marshal_object_get_int(in_obj, "bUserAckRequest"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.bDeliveryAckRequest = sipc_util_marshal_object_get_int(in_obj, "bDeliveryAckRequest"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.AlertPriority= sipc_util_marshal_object_get_int(in_obj, "AlertPriority"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.MsgLang= sipc_util_marshal_object_get_int(in_obj, "MsgLang"); /* Callback number address */ - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.Digit = sipc_util_marshal_object_get_int(reqObj, "CallBackNumer.Digit"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.NumberMode = sipc_util_marshal_object_get_int(reqObj, "CallBackNumer.NumberMode"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.NumberType = sipc_util_marshal_object_get_int(reqObj, "CallBackNumer.NumberType"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.NumberPlan = sipc_util_marshal_object_get_int(reqObj, "CallBackNumer.NumberPlan"); - cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.szAddrLength = sipc_util_marshal_object_get_char(reqObj, "CallBackNumer.szAddrLength"); - callBackNumer_szAddress = sipc_util_marshal_object_get_string(reqObj, "CallBackNumer.szAddress"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.Digit = sipc_util_marshal_object_get_int(in_obj, "CallBackNumer.Digit"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.NumberMode = sipc_util_marshal_object_get_int(in_obj, "CallBackNumer.NumberMode"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.NumberType = sipc_util_marshal_object_get_int(in_obj, "CallBackNumer.NumberType"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.NumberPlan = sipc_util_marshal_object_get_int(in_obj, "CallBackNumer.NumberPlan"); + cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.szAddrLength = sipc_util_marshal_object_get_char(in_obj, "CallBackNumer.szAddrLength"); + callBackNumer_szAddress = sipc_util_marshal_object_get_string(in_obj, "CallBackNumer.szAddress"); memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outSubmit.CallBackNumber.szAddress[0]), callBackNumer_szAddress, SMS_MAXLENGTH_SMS_ADDRESS); } break; - + case SMS_MESSAGETYPE_CANCEL: { gchar *dstAddr_szAddress; gchar *dstSubAddr_szAddress; - + /* Origination address */ - cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.Digit = sipc_util_marshal_object_get_int(reqObj, "DstAddr.Digit"); - cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.NumberMode = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberMode"); - cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.NumberType = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberType"); - cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.NumberPlan = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberPlan"); - cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.szAddrLength = sipc_util_marshal_object_get_char(reqObj, "DstAddr.szAddrLength"); - dstAddr_szAddress = sipc_util_marshal_object_get_string(reqObj, "DstAddr.szAddress"); + cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.Digit = sipc_util_marshal_object_get_int(in_obj, "DstAddr.Digit"); + cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.NumberMode = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberMode"); + cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.NumberType = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberType"); + cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.NumberPlan = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberPlan"); + cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.szAddrLength = sipc_util_marshal_object_get_char(in_obj, "DstAddr.szAddrLength"); + dstAddr_szAddress = sipc_util_marshal_object_get_string(in_obj, "DstAddr.szAddress"); memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstAddr.szAddress[0]), dstAddr_szAddress, SMS_MAXLENGTH_SMS_ADDRESS); - + /* Origination subaddress */ - cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstSubAddr.SubType = sipc_util_marshal_object_get_int(reqObj, "DstSubAddr.SubType"); - cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstSubAddr.Odd = sipc_util_marshal_object_get_char(reqObj, "DstSubAddr.Odd"); - cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstSubAddr.szAddrLength = sipc_util_marshal_object_get_char(reqObj, "DstSubAddr.szAddrLength"); - dstSubAddr_szAddress = sipc_util_marshal_object_get_string(reqObj, "DstSubAddr.szAddress"); + cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstSubAddr.SubType = sipc_util_marshal_object_get_int(in_obj, "DstSubAddr.SubType"); + cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstSubAddr.Odd = sipc_util_marshal_object_get_char(in_obj, "DstSubAddr.Odd"); + cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstSubAddr.szAddrLength = sipc_util_marshal_object_get_char(in_obj, "DstSubAddr.szAddrLength"); + dstSubAddr_szAddress = sipc_util_marshal_object_get_string(in_obj, "DstSubAddr.szAddress"); memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outCancel.DstSubAddr.szAddress[0]), dstSubAddr_szAddress, SMS_MAXLENGTH_SMS_ADDRESS); - - cdmaMsg.cdmaMsgInfo.MsgData.outCancel.TeleService = sipc_util_marshal_object_get_int(reqObj, "TeleService"); - cdmaMsg.cdmaMsgInfo.MsgData.outCancel.bBearerReplySeqRequest = sipc_util_marshal_object_get_int(reqObj, "bBearerReplySeqRequest"); - cdmaMsg.cdmaMsgInfo.MsgData.outCancel.ReplySeqNumber = sipc_util_marshal_object_get_char(reqObj, "ReplySeqNumber"); - cdmaMsg.cdmaMsgInfo.MsgData.outCancel.MsgId = sipc_util_marshal_object_get_int(reqObj, "MsgId"); + + cdmaMsg.cdmaMsgInfo.MsgData.outCancel.TeleService = sipc_util_marshal_object_get_int(in_obj, "TeleService"); + cdmaMsg.cdmaMsgInfo.MsgData.outCancel.bBearerReplySeqRequest = sipc_util_marshal_object_get_int(in_obj, "bBearerReplySeqRequest"); + cdmaMsg.cdmaMsgInfo.MsgData.outCancel.ReplySeqNumber = sipc_util_marshal_object_get_char(in_obj, "ReplySeqNumber"); + cdmaMsg.cdmaMsgInfo.MsgData.outCancel.MsgId = sipc_util_marshal_object_get_int(in_obj, "MsgId"); } break; - + case SMS_MESSAGETYPE_USER_ACK: { gchar *dstAddr_szAddress; gchar *dstSubAddr_szAddress; gchar *szData; - + /* Origination address */ - cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.Digit = sipc_util_marshal_object_get_int(reqObj, "DstAddr.Digit"); - cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.NumberMode = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberMode"); - cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.NumberType = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberType"); - cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.NumberPlan = sipc_util_marshal_object_get_int(reqObj, "DstAddr.NumberPlan"); - cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.szAddrLength = sipc_util_marshal_object_get_char(reqObj, "DstAddr.szAddrLength"); - dstAddr_szAddress = sipc_util_marshal_object_get_string(reqObj, "DstAddr.szAddress"); + cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.Digit = sipc_util_marshal_object_get_int(in_obj, "DstAddr.Digit"); + cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.NumberMode = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberMode"); + cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.NumberType = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberType"); + cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.NumberPlan = sipc_util_marshal_object_get_int(in_obj, "DstAddr.NumberPlan"); + cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.szAddrLength = sipc_util_marshal_object_get_char(in_obj, "DstAddr.szAddrLength"); + dstAddr_szAddress = sipc_util_marshal_object_get_string(in_obj, "DstAddr.szAddress"); memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstAddr.szAddress[0]), dstAddr_szAddress, SMS_MAXLENGTH_SMS_ADDRESS); - + /* Origination subaddress */ - cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstSubAddr.SubType = sipc_util_marshal_object_get_int(reqObj, "DstSubAddr.SubType"); - cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstSubAddr.Odd = sipc_util_marshal_object_get_char(reqObj, "DstSubAddr.Odd"); - cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstSubAddr.szAddrLength = sipc_util_marshal_object_get_char(reqObj, "DstSubAddr.szAddrLength"); - dstSubAddr_szAddress = sipc_util_marshal_object_get_string(reqObj, "DstSubAddr.szAddress"); + cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstSubAddr.SubType = sipc_util_marshal_object_get_int(in_obj, "DstSubAddr.SubType"); + cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstSubAddr.Odd = sipc_util_marshal_object_get_char(in_obj, "DstSubAddr.Odd"); + cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstSubAddr.szAddrLength = sipc_util_marshal_object_get_char(in_obj, "DstSubAddr.szAddrLength"); + dstSubAddr_szAddress = sipc_util_marshal_object_get_string(in_obj, "DstSubAddr.szAddress"); memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outAck.DstSubAddr.szAddress[0]), dstSubAddr_szAddress, SMS_MAXLENGTH_SMS_ADDRESS); - - cdmaMsg.cdmaMsgInfo.MsgData.outAck.TeleService = sipc_util_marshal_object_get_int(reqObj, "TeleService"); - cdmaMsg.cdmaMsgInfo.MsgData.outAck.bBearerReplySeqRequest = sipc_util_marshal_object_get_int(reqObj, "bBearerReplySeqRequest"); - cdmaMsg.cdmaMsgInfo.MsgData.outAck.ReplySeqNumber = sipc_util_marshal_object_get_char(reqObj, "ReplySeqNumber"); - cdmaMsg.cdmaMsgInfo.MsgData.outAck.MsgId = sipc_util_marshal_object_get_int(reqObj, "MsgId"); - cdmaMsg.cdmaMsgInfo.MsgData.outAck.MsgEncoding = sipc_util_marshal_object_get_int(reqObj, "MsgEncoding"); - cdmaMsg.cdmaMsgInfo.MsgData.outAck.MsgLength = sipc_util_marshal_object_get_int(reqObj, "MsgLength"); - szData = sipc_util_marshal_object_get_string(reqObj, "szData"); + + cdmaMsg.cdmaMsgInfo.MsgData.outAck.TeleService = sipc_util_marshal_object_get_int(in_obj, "TeleService"); + cdmaMsg.cdmaMsgInfo.MsgData.outAck.bBearerReplySeqRequest = sipc_util_marshal_object_get_int(in_obj, "bBearerReplySeqRequest"); + cdmaMsg.cdmaMsgInfo.MsgData.outAck.ReplySeqNumber = sipc_util_marshal_object_get_char(in_obj, "ReplySeqNumber"); + cdmaMsg.cdmaMsgInfo.MsgData.outAck.MsgId = sipc_util_marshal_object_get_int(in_obj, "MsgId"); + cdmaMsg.cdmaMsgInfo.MsgData.outAck.MsgEncoding = sipc_util_marshal_object_get_int(in_obj, "MsgEncoding"); + cdmaMsg.cdmaMsgInfo.MsgData.outAck.MsgLength = sipc_util_marshal_object_get_int(in_obj, "MsgLength"); + szData = sipc_util_marshal_object_get_string(in_obj, "szData"); memcpy(&(cdmaMsg.cdmaMsgInfo.MsgData.outAck.szData[0]), szData, SMS_MAXLENGTH_SMS_MO_USER_DATA); - cdmaMsg.cdmaMsgInfo.MsgData.outAck.UserResponseCode = sipc_util_marshal_object_get_char(reqObj, "UserResponseCode"); + cdmaMsg.cdmaMsgInfo.MsgData.outAck.UserResponseCode = sipc_util_marshal_object_get_char(in_obj, "UserResponseCode"); } break; default: break; } - + tcore_user_request_set_data(ur, sizeof(struct treq_sms_send_cdma_msg), &cdmaMsg); tcore_user_request_set_command(ur, TREQ_SMS_SEND_CDMA_MSG); ret = tcore_communicator_dispatch_request(comm, ur); if (ret != TCORE_RETURN_SUCCESS) { // api_err = TAPI_API_OPERATION_FAILED; - err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } - + } break; case TAPI_SERVICE_SMS_READ_MSG: { - - readMsg.index = sipc_util_marshal_object_get_int(reqObj, "Index"); + + readMsg.index = sipc_util_marshal_object_get_int(in_obj, "Index"); tcore_user_request_set_data(ur, sizeof(struct treq_sms_read_msg), &readMsg); tcore_user_request_set_command(ur, TREQ_SMS_READ_MSG); @@ -282,7 +281,8 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore ret = tcore_communicator_dispatch_request(comm, ur); if (ret != TCORE_RETURN_SUCCESS) { // api_err = TAPI_API_OPERATION_FAILED; - err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } } @@ -292,12 +292,12 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore gchar *sca; gchar *szData; - saveMsg.simIndex = sipc_util_marshal_object_get_int(reqObj, "Index"); - saveMsg.msgStatus = sipc_util_marshal_object_get_int(reqObj, "MsgStatus"); - sca = sipc_util_marshal_object_get_string(reqObj, "Sca"); + saveMsg.simIndex = sipc_util_marshal_object_get_int(in_obj, "Index"); + saveMsg.msgStatus = sipc_util_marshal_object_get_int(in_obj, "MsgStatus"); + sca = sipc_util_marshal_object_get_string(in_obj, "Sca"); memcpy(&(saveMsg.msgDataPackage.sca[0]), sca, SMS_SMSP_ADDRESS_LEN); - saveMsg.msgDataPackage.msgLength = sipc_util_marshal_object_get_int(reqObj, "MsgLength"); - szData = sipc_util_marshal_object_get_string(reqObj, "szData"); + saveMsg.msgDataPackage.msgLength = sipc_util_marshal_object_get_int(in_obj, "MsgLength"); + szData = sipc_util_marshal_object_get_string(in_obj, "szData"); memcpy(saveMsg.msgDataPackage.tpduData, szData, SMS_SMDATA_SIZE_MAX + 1); tcore_user_request_set_data(ur, sizeof(struct treq_sms_save_msg), &saveMsg); @@ -306,7 +306,8 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore ret = tcore_communicator_dispatch_request(comm, ur); if (ret != TCORE_RETURN_SUCCESS) { // api_err = TAPI_API_OPERATION_FAILED; - err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } } @@ -314,15 +315,16 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore case TAPI_SERVICE_SMS_DELETE_MSG: { - deleteMsg.index = sipc_util_marshal_object_get_int(reqObj, "Index"); - + deleteMsg.index = sipc_util_marshal_object_get_int(in_obj, "Index"); + tcore_user_request_set_data(ur, sizeof(struct treq_sms_delete_msg), &deleteMsg); tcore_user_request_set_command(ur, TREQ_SMS_DELETE_MSG); ret = tcore_communicator_dispatch_request(comm, ur); if (ret != TCORE_RETURN_SUCCESS) { // api_err = TAPI_API_OPERATION_FAILED; - err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } } @@ -335,14 +337,15 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore ret = tcore_communicator_dispatch_request(comm, ur); if (ret != TCORE_RETURN_SUCCESS) { // api_err = TAPI_API_OPERATION_FAILED; - err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } break; case TAPI_SERVICE_SMS_GET_SCA: { - - getSca.index = sipc_util_marshal_object_get_int(reqObj, "Index"); + + getSca.index = sipc_util_marshal_object_get_int(in_obj, "Index"); tcore_user_request_set_data(ur, sizeof(struct treq_sms_get_sca), &getSca); tcore_user_request_set_command(ur, TREQ_SMS_GET_SCA); @@ -350,30 +353,33 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore ret = tcore_communicator_dispatch_request(comm, ur); if (ret != TCORE_RETURN_SUCCESS) { // api_err = TAPI_API_OPERATION_FAILED; - err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } } break; case TAPI_SERVICE_SMS_SET_SCA: { - gchar *szDiallingNum; + gchar *szDiallingNum; - setSca.index = sipc_util_marshal_object_get_int(reqObj, "Index"); - setSca.scaInfo.dialNumLen = sipc_util_marshal_object_get_int(reqObj, "DialNumLen"); - setSca.scaInfo.typeOfNum = sipc_util_marshal_object_get_int(reqObj, "Ton"); - setSca.scaInfo.numPlanId = sipc_util_marshal_object_get_int(reqObj, "Npi"); - szDiallingNum = sipc_util_marshal_object_get_string(reqObj, "szDiallingNum"); + setSca.index = sipc_util_marshal_object_get_int(in_obj, "Index"); + setSca.scaInfo.dialNumLen = sipc_util_marshal_object_get_int(in_obj, "DialNumLen"); + setSca.scaInfo.typeOfNum = sipc_util_marshal_object_get_int(in_obj, "Ton"); + setSca.scaInfo.numPlanId = sipc_util_marshal_object_get_int(in_obj, "Npi"); + szDiallingNum = sipc_util_marshal_object_get_string(in_obj, "szDiallingNum"); memcpy(&(setSca.scaInfo.diallingNum[0]), szDiallingNum, SMS_SMSP_ADDRESS_LEN + 1); if ((setSca.scaInfo.dialNumLen <= 0) || (setSca.scaInfo.dialNumLen > (SMS_MAX_SMS_SERVICE_CENTER_ADDR + 1))) { err("[tcore_SMS] TAPI_API_INVALID_INPUT !!!"); + result = FALSE; } else if(setSca.index != 0) { err("[tcore_SMS] Index except 0 is supported"); // api_err = TAPI_API_NOT_SUPPORTED; + result = FALSE; } else { @@ -384,6 +390,7 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore if (ret != TCORE_RETURN_SUCCESS) { //api_err = TAPI_API_OPERATION_FAILED; err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } } @@ -398,18 +405,19 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore if (ret != TCORE_RETURN_SUCCESS) { //api_err = TAPI_API_OPERATION_FAILED; err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } break; case TAPI_SERVICE_SMS_SET_CB_CONFIG: { - gchar *msgIDs; + gchar *msgIDs; - setCbConfig.bCBEnabled = sipc_util_marshal_object_get_int(reqObj, "bCBEnabled"); - setCbConfig.selectedId = sipc_util_marshal_object_get_char(reqObj, "SelectedId"); - setCbConfig.msgIdMaxCount = sipc_util_marshal_object_get_char(reqObj, "MsgIdMaxCount"); - setCbConfig.msgIdCount = sipc_util_marshal_object_get_int(reqObj, "MsgIdCount"); - msgIDs = sipc_util_marshal_object_get_string(reqObj, "MsgIDs"); + setCbConfig.bCBEnabled = sipc_util_marshal_object_get_int(in_obj, "bCBEnabled"); + setCbConfig.selectedId = sipc_util_marshal_object_get_char(in_obj, "SelectedId"); + setCbConfig.msgIdMaxCount = sipc_util_marshal_object_get_char(in_obj, "MsgIdMaxCount"); + setCbConfig.msgIdCount = sipc_util_marshal_object_get_int(in_obj, "MsgIdCount"); + msgIDs = sipc_util_marshal_object_get_string(in_obj, "MsgIDs"); memcpy(&(setCbConfig.msgIDs[0]), msgIDs, SMS_GSM_SMS_CBMI_LIST_SIZE_MAX); tcore_user_request_set_data(ur, sizeof(struct treq_sms_set_cb_config), &setCbConfig); @@ -419,6 +427,7 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore if (ret != TCORE_RETURN_SUCCESS) { //api_err = TAPI_API_OPERATION_FAILED; err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } } @@ -426,7 +435,7 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore case TAPI_SERVICE_SMS_SET_MEM_STATUS: { - memStatus.memory_status = sipc_util_marshal_object_get_int(reqObj, "memoryStatus"); + memStatus.memory_status = sipc_util_marshal_object_get_int(in_obj, "memoryStatus"); tcore_user_request_set_data(ur, sizeof(struct treq_sms_set_mem_status), &memStatus); tcore_user_request_set_command(ur, TREQ_SMS_SET_MEM_STATUS); @@ -435,34 +444,37 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore if (ret != TCORE_RETURN_SUCCESS) { //api_err = TAPI_API_OPERATION_FAILED; err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } } break; case TAPI_SERVICE_SMS_GET_PREF_BEARER: - tcore_user_request_set_data(ur, sizeof(struct treq_sms_get_pref_brearer), &getPrefBrearer); + tcore_user_request_set_data(ur, sizeof(struct treq_sms_get_pref_bearer), &getPrefBearer); tcore_user_request_set_command(ur, TREQ_SMS_GET_PREF_BEARER); ret = tcore_communicator_dispatch_request(comm, ur); if (ret != TCORE_RETURN_SUCCESS) { //api_err = TAPI_API_OPERATION_FAILED; err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } break; case TAPI_SERVICE_SMS_SET_PREF_BEARER: { - setPrefBrearer.svc = sipc_util_marshal_object_get_int(reqObj, "BearerType"); + setPrefBearer.svc = sipc_util_marshal_object_get_int(in_obj, "BearerType"); - tcore_user_request_set_data(ur, sizeof(struct treq_sms_set_pref_brearer), &setPrefBrearer); + tcore_user_request_set_data(ur, sizeof(struct treq_sms_set_pref_bearer), &setPrefBearer); tcore_user_request_set_command(ur, TREQ_SMS_SET_PREF_BEARER); ret = tcore_communicator_dispatch_request(comm, ur); if (ret != TCORE_RETURN_SUCCESS) { //api_err = TAPI_API_OPERATION_FAILED; err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } } @@ -471,13 +483,13 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore case TAPI_SERVICE_SMS_SET_DELIVERY_REPORT: { gchar *sca; gchar *szData; - - sca = sipc_util_marshal_object_get_string(reqObj, "Sca"); + + sca = sipc_util_marshal_object_get_string(in_obj, "Sca"); memcpy(&(deliveryReport.dataInfo.sca[0]), sca, SMS_SMSP_ADDRESS_LEN); - deliveryReport.dataInfo.msgLength = sipc_util_marshal_object_get_int(reqObj, "MsgLength"); - szData = sipc_util_marshal_object_get_string(reqObj, "szData"); + deliveryReport.dataInfo.msgLength = sipc_util_marshal_object_get_int(in_obj, "MsgLength"); + szData = sipc_util_marshal_object_get_string(in_obj, "szData"); memcpy(&(deliveryReport.dataInfo.tpduData[0]), szData, SMS_SMDATA_SIZE_MAX + 1); - deliveryReport.rspType = sipc_util_marshal_object_get_int(reqObj, "RPCause"); + deliveryReport.rspType = sipc_util_marshal_object_get_int(in_obj, "RPCause"); tcore_user_request_set_data(ur, sizeof(struct treq_sms_set_delivery_report), &deliveryReport); tcore_user_request_set_command(ur, TREQ_SMS_SET_DELIVERY_REPORT); @@ -486,16 +498,17 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore if (ret != TCORE_RETURN_SUCCESS) { //api_err = TAPI_API_OPERATION_FAILED; err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } - + } break; case TAPI_SERVICE_SMS_SET_MSG_STATUS: { - msgStatus.index = sipc_util_marshal_object_get_int(reqObj, "Index"); - msgStatus.msgStatus = sipc_util_marshal_object_get_int(reqObj, "MsgStatus"); - + msgStatus.index = sipc_util_marshal_object_get_int(in_obj, "Index"); + msgStatus.msgStatus = sipc_util_marshal_object_get_int(in_obj, "MsgStatus"); + tcore_user_request_set_data(ur, sizeof(struct treq_sms_set_msg_status), &msgStatus); tcore_user_request_set_command(ur, TREQ_SMS_SET_MSG_STATUS); @@ -503,6 +516,7 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore if (ret != TCORE_RETURN_SUCCESS) { //api_err = TAPI_API_OPERATION_FAILED; err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } } @@ -510,7 +524,7 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore case TAPI_SERVICE_SMS_GET_PARAMS: { - getParams.index = sipc_util_marshal_object_get_int(reqObj, "Index"); + getParams.index = sipc_util_marshal_object_get_int(in_obj, "Index"); tcore_user_request_set_data(ur, sizeof(struct treq_sms_get_params), &getParams); tcore_user_request_set_command(ur, TREQ_SMS_GET_PARAMS); @@ -519,6 +533,7 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore if (ret != TCORE_RETURN_SUCCESS) { //api_err = TAPI_API_OPERATION_FAILED; err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } } @@ -529,29 +544,29 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore gchar *destAddr_szDiallingNum; gchar *svcCntrAddr_szDiallingNum; - setParams.params.recordIndex = sipc_util_marshal_object_get_char(reqObj, "RecordIndex"); - setParams.params.recordLen = sipc_util_marshal_object_get_char(reqObj, "RecordLen"); - setParams.params.alphaIdLen = sipc_util_marshal_object_get_int(reqObj, "AlphaIdLen"); - szAlphaId = sipc_util_marshal_object_get_string(reqObj, "szAlphaId"); + setParams.params.recordIndex = sipc_util_marshal_object_get_char(in_obj, "RecordIndex"); + setParams.params.recordLen = sipc_util_marshal_object_get_char(in_obj, "RecordLen"); + setParams.params.alphaIdLen = sipc_util_marshal_object_get_int(in_obj, "AlphaIdLen"); + szAlphaId = sipc_util_marshal_object_get_string(in_obj, "szAlphaId"); memcpy(&(setParams.params.szAlphaId[0]), szAlphaId, SMS_SMSP_ALPHA_ID_LEN_MAX + 1); - setParams.params.paramIndicator = sipc_util_marshal_object_get_char(reqObj, "ParamIndicator"); - - setParams.params.tpDestAddr.dialNumLen = sipc_util_marshal_object_get_int(reqObj, "DestAddr.DialNumLen"); - setParams.params.tpDestAddr.typeOfNum = sipc_util_marshal_object_get_int(reqObj, "DestAddr.Ton"); - setParams.params.tpDestAddr.numPlanId = sipc_util_marshal_object_get_int(reqObj, "DestAddr.Npi"); - destAddr_szDiallingNum = sipc_util_marshal_object_get_string(reqObj, "DestAddr.szDiallingNum"); + setParams.params.paramIndicator = sipc_util_marshal_object_get_char(in_obj, "ParamIndicator"); + + setParams.params.tpDestAddr.dialNumLen = sipc_util_marshal_object_get_int(in_obj, "DestAddr.DialNumLen"); + setParams.params.tpDestAddr.typeOfNum = sipc_util_marshal_object_get_int(in_obj, "DestAddr.Ton"); + setParams.params.tpDestAddr.numPlanId = sipc_util_marshal_object_get_int(in_obj, "DestAddr.Npi"); + destAddr_szDiallingNum = sipc_util_marshal_object_get_string(in_obj, "DestAddr.szDiallingNum"); memcpy(&(setParams.params.tpDestAddr.diallingNum[0]), destAddr_szDiallingNum, SMS_SMSP_ADDRESS_LEN + 1); - - setParams.params.tpSvcCntrAddr.dialNumLen = sipc_util_marshal_object_get_int(reqObj, "SvcCntrAddr.DialNumLen"); - setParams.params.tpSvcCntrAddr.typeOfNum = sipc_util_marshal_object_get_int(reqObj, "SvcCntrAddr.Ton"); - setParams.params.tpSvcCntrAddr.numPlanId = sipc_util_marshal_object_get_int(reqObj, "SvcCntrAddr.Npi"); - svcCntrAddr_szDiallingNum = sipc_util_marshal_object_get_string(reqObj, "SvcCntrAddr.szDiallingNum"); + + setParams.params.tpSvcCntrAddr.dialNumLen = sipc_util_marshal_object_get_int(in_obj, "SvcCntrAddr.DialNumLen"); + setParams.params.tpSvcCntrAddr.typeOfNum = sipc_util_marshal_object_get_int(in_obj, "SvcCntrAddr.Ton"); + setParams.params.tpSvcCntrAddr.numPlanId = sipc_util_marshal_object_get_int(in_obj, "SvcCntrAddr.Npi"); + svcCntrAddr_szDiallingNum = sipc_util_marshal_object_get_string(in_obj, "SvcCntrAddr.szDiallingNum"); memcpy(&(setParams.params.tpSvcCntrAddr.diallingNum[0]), svcCntrAddr_szDiallingNum, SMS_SMSP_ADDRESS_LEN + 1); - setParams.params.tpProtocolId = sipc_util_marshal_object_get_int(reqObj, "ProtocolId"); - setParams.params.tpDataCodingScheme = sipc_util_marshal_object_get_int(reqObj, "DataCodingScheme"); - setParams.params.tpValidityPeriod = sipc_util_marshal_object_get_int(reqObj, "ValidityPeriod"); - + setParams.params.tpProtocolId = sipc_util_marshal_object_get_int(in_obj, "ProtocolId"); + setParams.params.tpDataCodingScheme = sipc_util_marshal_object_get_int(in_obj, "DataCodingScheme"); + setParams.params.tpValidityPeriod = sipc_util_marshal_object_get_int(in_obj, "ValidityPeriod"); + tcore_user_request_set_data(ur, sizeof(struct treq_sms_set_params), &setParams); tcore_user_request_set_command(ur, TREQ_SMS_SET_PARAMS); @@ -559,6 +574,7 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore if (ret != TCORE_RETURN_SUCCESS) { //api_err = TAPI_API_OPERATION_FAILED; err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } } @@ -572,6 +588,7 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore if (ret != TCORE_RETURN_SUCCESS) { //api_err = TAPI_API_OPERATION_FAILED; err("[tcore_SMS] communicator_dispatch_request is fail [0x%x] !!!", ret); + result = FALSE; } break; @@ -592,11 +609,31 @@ gboolean scomm_service_request_sms(unsigned int ch_id, Communicator *comm, Tcore default: //api_err = TAPI_API_NOT_SUPPORTED; err("[tcore_SMS] NOT support command [0x%x] !!!", cmd); + result = FALSE; break; } dbg("[tcore_SMS] request command[0x%x], ret = 0x%x", cmd, ret); +RETURN: + sipc_util_marshal_object_destory(in_obj); + out_obj = sipc_util_marshal_object_create(); + sipc_util_marshal_object_add_data(out_obj, "result", &result, SIPC_MARSHAL_DATA_BOOLEAN_TYPE); + + dbg("result = %d", result); + + *outparam = sipc_util_marshal_object_serializer(out_obj); + sipc_util_marshal_object_destory(out_obj); + + if (result == FALSE) { + return FALSE; + } + + ret = tcore_communicator_dispatch_request(comm, ur); + if (ret != TCORE_RETURN_SUCCESS) { + return FALSE; + } + return TRUE; } @@ -626,7 +663,7 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc dbg("[tcore_SMS] application channel id(%d), Command = [0x%x], data_len = %d", ui->channel_id, command, data_len); hdr.cmd = (tapi_service_command_e)ui->client_cmd; - + respObj = sipc_util_marshal_object_create(); switch (command) { @@ -636,9 +673,9 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc dbg("resp->result = 0x%x", resp->result); sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(respObj, "Sca", (void *)&(resp->dataInfo.sca[0]), TAPI_OBJECT_DATA_TYPE_STRING); - sipc_util_marshal_object_add_data(respObj, "MsgLength", (void *)&(resp->dataInfo.msgLength), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "szData", (void *)&(resp->dataInfo.tpduData[0]), TAPI_OBJECT_DATA_TYPE_STRING); + sipc_util_marshal_object_add_data(respObj, "Sca", (void *)&(resp->dataInfo.sca[0]), SIPC_MARSHAL_DATA_STRING_TYPE); + sipc_util_marshal_object_add_data(respObj, "MsgLength", (void *)&(resp->dataInfo.msgLength), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "szData", (void *)&(resp->dataInfo.tpduData[0]), SIPC_MARSHAL_DATA_STRING_TYPE); } break; @@ -647,10 +684,10 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc dbg("resp->result = 0x%x", resp->result); - sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "ReplySeqNumber", (void *)&(resp->causeCode.ReplySeqNumber), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(respObj, "ErrClass", (void *)&(resp->causeCode.ErrClass), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "Cause", (void *)&(resp->causeCode.Cause), TAPI_OBJECT_DATA_TYPE_CHAR); + sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "ReplySeqNumber", (void *)&(resp->causeCode.ReplySeqNumber), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(respObj, "ErrClass", (void *)&(resp->causeCode.ErrClass), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "Cause", (void *)&(resp->causeCode.Cause), SIPC_MARSHAL_DATA_CHAR_TYPE); } break; @@ -662,9 +699,9 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE); sipc_util_marshal_object_add_data(respObj, "Index", (void *)&(resp->dataInfo.simIndex), SIPC_MARSHAL_DATA_INT_TYPE); sipc_util_marshal_object_add_data(respObj, "MsgStatus", (void *)&(resp->dataInfo.msgStatus), SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(respObj, "Sca", (void *)&(resp->dataInfo.smsData.sca[0]), TAPI_OBJECT_DATA_TYPE_STRING); - sipc_util_marshal_object_add_data(respObj, "MsgLength", (void *)&(resp->dataInfo.smsData.msgLength), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "szData", (void *)&(resp->dataInfo.smsData.tpduData[0]), TAPI_OBJECT_DATA_TYPE_STRING); + sipc_util_marshal_object_add_data(respObj, "Sca", (void *)&(resp->dataInfo.smsData.sca[0]), SIPC_MARSHAL_DATA_STRING_TYPE); + sipc_util_marshal_object_add_data(respObj, "MsgLength", (void *)&(resp->dataInfo.smsData.msgLength), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "szData", (void *)&(resp->dataInfo.smsData.tpduData[0]), SIPC_MARSHAL_DATA_STRING_TYPE); } break; @@ -696,7 +733,7 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE); sipc_util_marshal_object_add_data(respObj, "TotalCount", (void *)&(resp->storedMsgCnt.totalCount), SIPC_MARSHAL_DATA_INT_TYPE); sipc_util_marshal_object_add_data(respObj, "UsedCount", (void *)&(resp->storedMsgCnt.usedCount), SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(respObj, "IndexList", (void *)&(resp->storedMsgCnt.indexList[0]), TAPI_OBJECT_DATA_TYPE_STRING); + sipc_util_marshal_object_add_data(respObj, "IndexList", (void *)&(resp->storedMsgCnt.indexList[0]), SIPC_MARSHAL_DATA_STRING_TYPE); } break; @@ -705,11 +742,11 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc dbg("resp->result = 0x%x", resp->result); - sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "DialNumLen", (void *)&(resp->scaAddress.dialNumLen), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "Ton", (void *)&(resp->scaAddress.typeOfNum), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "Npi", (void *)&(resp->scaAddress.numPlanId), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "szDiallingNum", (void *)&(resp->scaAddress.diallingNum[0]), TAPI_OBJECT_DATA_TYPE_STRING); + sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "DialNumLen", (void *)&(resp->scaAddress.dialNumLen), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "Ton", (void *)&(resp->scaAddress.typeOfNum), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "Npi", (void *)&(resp->scaAddress.numPlanId), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "szDiallingNum", (void *)&(resp->scaAddress.diallingNum[0]), SIPC_MARSHAL_DATA_STRING_TYPE); } break; @@ -718,7 +755,7 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc dbg("resp->result = 0x%x", resp->result); - sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE); } break; @@ -727,12 +764,12 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc dbg("resp->result = 0x%x", resp->result); - sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "bCBEnabled", (void *)&(resp->cbConfig.bCBEnabled), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "SelectedId", (void *)&(resp->cbConfig.selectedId), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(respObj, "MsgIdMaxCount", (void *)&(resp->cbConfig.msgIdMaxCount), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(respObj, "MsgIdCount", (void *)&(resp->cbConfig.msgIdCount), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "MsgIDs", (void *)&(resp->cbConfig.msgIDs[0]), TAPI_OBJECT_DATA_TYPE_STRING); + sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "bCBEnabled", (void *)&(resp->cbConfig.bCBEnabled), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "SelectedId", (void *)&(resp->cbConfig.selectedId), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(respObj, "MsgIdMaxCount", (void *)&(resp->cbConfig.msgIdMaxCount), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(respObj, "MsgIdCount", (void *)&(resp->cbConfig.msgIdCount), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "MsgIDs", (void *)&(resp->cbConfig.msgIDs[0]), SIPC_MARSHAL_DATA_STRING_TYPE); } break; @@ -741,7 +778,7 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc dbg("resp->result = 0x%x", resp->result); - sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE); } break; @@ -750,26 +787,33 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc dbg("resp->result = 0x%x", resp->result); - sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE); } break; -#if 0 - case TRESP_SMS_GET_PREF_BEARER: - ts_delivery_event(ctx->EvtDeliveryHandle, TAPI_EVENT_CLASS_NETTEXT, TAPI_EVENT_NETTEXT_GET_SMSBEARER_CNF, - appname, RequestId, status, sizeof(TelSmsBearerType_t), (void *) bearer); + case TRESP_SMS_GET_PREF_BEARER: { + const struct tresp_sms_get_pref_bearer *resp = data; + + dbg("resp->result = 0x%x", resp->result); + + sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE); + } break; - case TRESP_SMS_SET_PREF_BEARER: - ts_delivery_event(ctx->EvtDeliveryHandle, TAPI_EVENT_CLASS_NETTEXT, TAPI_EVENT_NETTEXT_SET_REQUEST_CNF, - appname, RequestId, Status, sizeof(TelSmsCause_t), (void *) &RequestType); + case TRESP_SMS_SET_PREF_BEARER: { + const struct tresp_sms_set_pref_bearer *resp = data; + + dbg("resp->result = 0x%x", resp->result); + + sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE); + } break; -#endif + case TRESP_SMS_SET_DELIVERY_REPORT: { const struct tresp_sms_set_delivery_report *resp = data; dbg("resp->result = 0x%x", resp->result); - sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE); } break; @@ -778,7 +822,7 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc dbg("resp->result = 0x%x", resp->result); - sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE); } break; @@ -787,26 +831,26 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc dbg("resp->result = 0x%x", resp->result); - sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "RecordIndex", (void *)&(resp->paramsInfo.recordIndex), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(respObj, "RecordLen", (void *)&(resp->paramsInfo.recordLen), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(respObj, "AlphaIdLen", (void *)&(resp->paramsInfo.alphaIdLen), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "szAlphaId", (void *)&(resp->paramsInfo.szAlphaId), TAPI_OBJECT_DATA_TYPE_STRING); - sipc_util_marshal_object_add_data(respObj, "ParamIndicator", (void *)&(resp->paramsInfo.paramIndicator), TAPI_OBJECT_DATA_TYPE_CHAR); - - sipc_util_marshal_object_add_data(respObj, "DestAddr.DialNumLen", (void *)&(resp->paramsInfo.tpDestAddr.dialNumLen), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "DestAddr.Ton", (void *)&(resp->paramsInfo.tpDestAddr.typeOfNum), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "DestAddr.Npi", (void *)&(resp->paramsInfo.tpDestAddr.numPlanId), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "DestAddr.szDiallingNum", (void *)&(resp->paramsInfo.tpDestAddr.diallingNum), TAPI_OBJECT_DATA_TYPE_STRING); - - sipc_util_marshal_object_add_data(respObj, "SvcCntrAddr.DialNumLen", (void *)&(resp->paramsInfo.tpSvcCntrAddr.dialNumLen), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "SvcCntrAddr.Ton", (void *)&(resp->paramsInfo.tpSvcCntrAddr.typeOfNum), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "SvcCntrAddr.Npi", (void *)&(resp->paramsInfo.tpSvcCntrAddr.numPlanId), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "SvcCntrAddr.szDiallingNum", (void *)&(resp->paramsInfo.tpSvcCntrAddr.diallingNum), TAPI_OBJECT_DATA_TYPE_STRING); - - sipc_util_marshal_object_add_data(respObj, "ProtocolId", (void *)&(resp->paramsInfo.tpProtocolId), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "DataCodingScheme", (void *)&(resp->paramsInfo.tpDataCodingScheme), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "ValidityPeriod", (void *)&(resp->paramsInfo.tpValidityPeriod), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "RecordIndex", (void *)&(resp->paramsInfo.recordIndex), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(respObj, "RecordLen", (void *)&(resp->paramsInfo.recordLen), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(respObj, "AlphaIdLen", (void *)&(resp->paramsInfo.alphaIdLen), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "szAlphaId", (void *)&(resp->paramsInfo.szAlphaId), SIPC_MARSHAL_DATA_STRING_TYPE); + sipc_util_marshal_object_add_data(respObj, "ParamIndicator", (void *)&(resp->paramsInfo.paramIndicator), SIPC_MARSHAL_DATA_CHAR_TYPE); + + sipc_util_marshal_object_add_data(respObj, "DestAddr.DialNumLen", (void *)&(resp->paramsInfo.tpDestAddr.dialNumLen), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "DestAddr.Ton", (void *)&(resp->paramsInfo.tpDestAddr.typeOfNum), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "DestAddr.Npi", (void *)&(resp->paramsInfo.tpDestAddr.numPlanId), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "DestAddr.szDiallingNum", (void *)&(resp->paramsInfo.tpDestAddr.diallingNum), SIPC_MARSHAL_DATA_STRING_TYPE); + + sipc_util_marshal_object_add_data(respObj, "SvcCntrAddr.DialNumLen", (void *)&(resp->paramsInfo.tpSvcCntrAddr.dialNumLen), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "SvcCntrAddr.Ton", (void *)&(resp->paramsInfo.tpSvcCntrAddr.typeOfNum), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "SvcCntrAddr.Npi", (void *)&(resp->paramsInfo.tpSvcCntrAddr.numPlanId), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "SvcCntrAddr.szDiallingNum", (void *)&(resp->paramsInfo.tpSvcCntrAddr.diallingNum), SIPC_MARSHAL_DATA_STRING_TYPE); + + sipc_util_marshal_object_add_data(respObj, "ProtocolId", (void *)&(resp->paramsInfo.tpProtocolId), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "DataCodingScheme", (void *)&(resp->paramsInfo.tpDataCodingScheme), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "ValidityPeriod", (void *)&(resp->paramsInfo.tpValidityPeriod), SIPC_MARSHAL_DATA_INT_TYPE); } break; @@ -815,7 +859,7 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc dbg("resp->result = 0x%x", resp->result); - sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE); } break; @@ -824,8 +868,8 @@ gboolean scomm_service_response_sms(Communicator *comm, UserRequest *ur, enum tc dbg("resp->result = 0x%x", resp->result); - sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(respObj, "RecordCount", (void *)&(resp->recordCount), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(respObj, "Result", (void *)&(resp->result), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(respObj, "RecordCount", (void *)&(resp->recordCount), SIPC_MARSHAL_DATA_INT_TYPE); } break; @@ -863,7 +907,6 @@ gboolean scomm_service_notification_sms(Communicator *comm, CoreObject *source, gchar *out_d= NULL, *serial_d = NULL; struct custom_data *ctx = NULL; - sipc_server_t *s = NULL; struct _tapi_header hdr; struct _sipc_marshal_object* notiObj = NULL; @@ -876,234 +919,247 @@ gboolean scomm_service_notification_sms(Communicator *comm, CoreObject *source, return FALSE; } - s = ctx->sk_server; dbg("[tcore_SMS]notification !!! (command = 0x%x, data_len = %d)", command, data_len); notiObj = sipc_util_marshal_object_create(); - + switch (command) { case TNOTI_SMS_INCOM_MSG: { const struct tnoti_sms_umts_msg *noti = data; + hdr.cmd = TAPI_NOTI_SMS_INCOM_MSG; - sipc_util_marshal_object_add_data(notiObj, "Sca", (void *)&(noti->msgInfo.sca[0]), TAPI_OBJECT_DATA_TYPE_STRING); - sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->msgInfo.msgLength), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->msgInfo.tpduData[0]), TAPI_OBJECT_DATA_TYPE_STRING); + sipc_util_marshal_object_add_data(notiObj, "Sca", (void *)&(noti->msgInfo.sca[0]), SIPC_MARSHAL_DATA_STRING_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->msgInfo.msgLength), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->msgInfo.tpduData[0]), SIPC_MARSHAL_DATA_STRING_TYPE); } break; + case TNOTI_SMS_CB_INCOM_MSG: { const struct tnoti_sms_cellBroadcast_msg *noti = data; + hdr.cmd = TAPI_NOTI_SMS_CB_INCOM_MSG; - sipc_util_marshal_object_add_data(notiObj, "CbMsgType", (void *)&(noti->cbMsg.cbMsgType), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "Length", (void *)&(noti->cbMsg.length), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "szMsgData", (void *)&(noti->cbMsg.msgData[0]), TAPI_OBJECT_DATA_TYPE_STRING); + sipc_util_marshal_object_add_data(notiObj, "CbMsgType", (void *)&(noti->cbMsg.cbMsgType), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "Length", (void *)&(noti->cbMsg.length), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "szMsgData", (void *)&(noti->cbMsg.msgData[0]), SIPC_MARSHAL_DATA_STRING_TYPE); } break; + case TNOTI_SMS_INCOM_EX_MSG: { - const struct tnoti_sms_cdma_msg *noti = data; + const struct tnoti_sms_cdma_msg *noti = data; + hdr.cmd = TAPI_NOTI_SMS_INCOM_EX_MSG; - sipc_util_marshal_object_add_data(notiObj, "ParamMask", (void *)&(noti->cdmaMsg.ParamMask), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MsgType", (void *)&(noti->cdmaMsg.MsgType), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(notiObj, "ParamMask", (void *)&(noti->cdmaMsg.ParamMask), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MsgType", (void *)&(noti->cdmaMsg.MsgType), SIPC_MARSHAL_DATA_INT_TYPE); switch(noti->cdmaMsg.MsgType) { case SMS_MESSAGETYPE_DELIVER: /* Origination address */ - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.Digit", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.Digit), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberMode", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.NumberMode), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberType", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.NumberType), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberPlan", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.NumberPlan), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.szAddrLength), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.szAddress[0]), TAPI_OBJECT_DATA_TYPE_STRING); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.Digit", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.Digit), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberMode", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.NumberMode), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberType", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.NumberType), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberPlan", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.NumberPlan), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.szAddrLength), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigAddr.szAddress[0]), SIPC_MARSHAL_DATA_STRING_TYPE); /* Origination subaddress */ - sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.SubType", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigSubAddr.SubType), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.Odd", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigSubAddr.Odd), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigSubAddr.szAddrLength), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigSubAddr.szAddress[0]), TAPI_OBJECT_DATA_TYPE_STRING); - - sipc_util_marshal_object_add_data(notiObj, "TeleService", (void *)&(noti->cdmaMsg.MsgData.inDeliver.TeleService), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "bBearerReplySeqRequest", (void *)&(noti->cdmaMsg.MsgData.inDeliver.bBearerReplySeqRequest), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "ReplySeqNumber", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ReplySeqNumber), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(notiObj, "MsgId", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MsgId), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MsgEncoding", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MsgEncoding), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MsgLength), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->cdmaMsg.MsgData.inDeliver.szData[0]), TAPI_OBJECT_DATA_TYPE_STRING); + sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.SubType", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigSubAddr.SubType), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.Odd", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigSubAddr.Odd), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigSubAddr.szAddrLength), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliver.OrigSubAddr.szAddress[0]), SIPC_MARSHAL_DATA_STRING_TYPE); + + sipc_util_marshal_object_add_data(notiObj, "TeleService", (void *)&(noti->cdmaMsg.MsgData.inDeliver.TeleService), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "bBearerReplySeqRequest", (void *)&(noti->cdmaMsg.MsgData.inDeliver.bBearerReplySeqRequest), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "ReplySeqNumber", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ReplySeqNumber), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MsgId", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MsgId), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MsgEncoding", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MsgEncoding), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MsgLength), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->cdmaMsg.MsgData.inDeliver.szData[0]), SIPC_MARSHAL_DATA_STRING_TYPE); /* Message center time stamp */ - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.year", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.year), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.month", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.month), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.day", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.day), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.hours", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.hours), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.minutes", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.minutes), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.seconds", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.seconds), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.year", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.year), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.month", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.month), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.day", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.day), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.hours", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.hours), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.minutes", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.minutes), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.seconds", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MessageCenterTimeStamp.seconds), SIPC_MARSHAL_DATA_INT_TYPE); /* Validity period - Absolute */ - sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.year", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.year), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.month", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.month), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.day", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.day), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.hours", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.hours), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.minutes", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.minutes), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.seconds", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.seconds), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.year", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.year), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.month", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.month), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.day", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.day), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.hours", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.hours), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.minutes", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.minutes), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.seconds", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodAbs.seconds), SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodRel", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodRel), TAPI_OBJECT_DATA_TYPE_CHAR); + sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodRel", (void *)&(noti->cdmaMsg.MsgData.inDeliver.ValidityPeriodRel), SIPC_MARSHAL_DATA_CHAR_TYPE); /* Deferred delivery time - Absolute (not supported) */ - sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.year", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.year), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.month", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.month), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.day", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.day), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.hours", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.hours), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.minutes", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.minutes), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.seconds", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.seconds), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.year", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.year), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.month", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.month), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.day", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.day), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.hours", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.hours), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.minutes", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.minutes), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeAbs.seconds", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeAbs.seconds), SIPC_MARSHAL_DATA_INT_TYPE); /* Deferred delivery time - Relative (not supported) */ - sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeRel", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeRel), TAPI_OBJECT_DATA_TYPE_CHAR); - - sipc_util_marshal_object_add_data(notiObj, "Priority", (void *)&(noti->cdmaMsg.MsgData.inDeliver.Priority), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "Privacy", (void *)&(noti->cdmaMsg.MsgData.inDeliver.Privacy), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "NumMsg", (void *)&(noti->cdmaMsg.MsgData.inDeliver.NumMsg), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(notiObj, "bUserAckRequest", (void *)&(noti->cdmaMsg.MsgData.inDeliver.bUserAckRequest), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "bDeliveryAckRequest", (void *)&(noti->cdmaMsg.MsgData.inDeliver.bDeliveryAckRequest), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "AlertPriority", (void *)&(noti->cdmaMsg.MsgData.inDeliver.AlertPriority), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MsgLang", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MsgLang), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(notiObj, "DeferredDelTimeRel", (void *)&(noti->cdmaMsg.MsgData.inDeliver.DeferredDelTimeRel), SIPC_MARSHAL_DATA_CHAR_TYPE); + + sipc_util_marshal_object_add_data(notiObj, "Priority", (void *)&(noti->cdmaMsg.MsgData.inDeliver.Priority), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "Privacy", (void *)&(noti->cdmaMsg.MsgData.inDeliver.Privacy), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "NumMsg", (void *)&(noti->cdmaMsg.MsgData.inDeliver.NumMsg), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(notiObj, "bUserAckRequest", (void *)&(noti->cdmaMsg.MsgData.inDeliver.bUserAckRequest), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "bDeliveryAckRequest", (void *)&(noti->cdmaMsg.MsgData.inDeliver.bDeliveryAckRequest), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "AlertPriority", (void *)&(noti->cdmaMsg.MsgData.inDeliver.AlertPriority), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MsgLang", (void *)&(noti->cdmaMsg.MsgData.inDeliver.MsgLang), SIPC_MARSHAL_DATA_INT_TYPE); /* Callback number address */ - sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.Digit", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.Digit), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.NumberMode", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.NumberMode), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.NumberType", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.NumberType), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.NumberPlan", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.NumberPlan), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.szAddrLength), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.szAddress[0]), TAPI_OBJECT_DATA_TYPE_STRING); - - sipc_util_marshal_object_add_data(notiObj, "Display", (void *)&(noti->cdmaMsg.MsgData.inDeliver.Display), TAPI_OBJECT_DATA_TYPE_INT); - + sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.Digit", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.Digit), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.NumberMode", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.NumberMode), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.NumberType", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.NumberType), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.NumberPlan", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.NumberPlan), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.szAddrLength), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(notiObj, "CallBackNumer.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliver.CallBackNumer.szAddress[0]), SIPC_MARSHAL_DATA_STRING_TYPE); + + sipc_util_marshal_object_add_data(notiObj, "Display", (void *)&(noti->cdmaMsg.MsgData.inDeliver.Display), SIPC_MARSHAL_DATA_INT_TYPE); + break; - + case SMS_MESSAGETYPE_DELIVERY_ACK: /* Origination address */ - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.Digit", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.Digit), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberMode", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.NumberMode), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberType", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.NumberType), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberPlan", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.NumberPlan), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.szAddrLength), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.szAddress[0]), TAPI_OBJECT_DATA_TYPE_STRING); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.Digit", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.Digit), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberMode", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.NumberMode), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberType", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.NumberType), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberPlan", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.NumberPlan), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.szAddrLength), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigAddr.szAddress[0]), SIPC_MARSHAL_DATA_STRING_TYPE); /* Origination subaddress */ - sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.SubType", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigSubAddr.SubType), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.Odd", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigSubAddr.Odd), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigSubAddr.szAddrLength), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigSubAddr.szAddress), TAPI_OBJECT_DATA_TYPE_CHAR); + sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.SubType", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigSubAddr.SubType), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.Odd", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigSubAddr.Odd), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigSubAddr.szAddrLength), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inAck.OrigSubAddr.szAddress), SIPC_MARSHAL_DATA_CHAR_TYPE); - sipc_util_marshal_object_add_data(notiObj, "TeleService", (void *)&(noti->cdmaMsg.MsgData.inAck.TeleService), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "bBearerReplySeqRequest", (void *)&(noti->cdmaMsg.MsgData.inAck.bBearerReplySeqRequest), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "ReplySeqNumber", (void *)&(noti->cdmaMsg.MsgData.inAck.ReplySeqNumber), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(notiObj, "MsgId", (void *)&(noti->cdmaMsg.MsgData.inAck.MsgId), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MsgEncoding", (void *)&(noti->cdmaMsg.MsgData.inAck.MsgEncoding), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->cdmaMsg.MsgData.inAck.MsgLength), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->cdmaMsg.MsgData.inAck.szData[0]), TAPI_OBJECT_DATA_TYPE_STRING); + sipc_util_marshal_object_add_data(notiObj, "TeleService", (void *)&(noti->cdmaMsg.MsgData.inAck.TeleService), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "bBearerReplySeqRequest", (void *)&(noti->cdmaMsg.MsgData.inAck.bBearerReplySeqRequest), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "ReplySeqNumber", (void *)&(noti->cdmaMsg.MsgData.inAck.ReplySeqNumber), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MsgId", (void *)&(noti->cdmaMsg.MsgData.inAck.MsgId), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MsgEncoding", (void *)&(noti->cdmaMsg.MsgData.inAck.MsgEncoding), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->cdmaMsg.MsgData.inAck.MsgLength), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->cdmaMsg.MsgData.inAck.szData[0]), SIPC_MARSHAL_DATA_STRING_TYPE); - sipc_util_marshal_object_add_data(notiObj, "UserResponseCode", (void *)&(noti->cdmaMsg.MsgData.inAck.UserResponseCode), TAPI_OBJECT_DATA_TYPE_CHAR); + sipc_util_marshal_object_add_data(notiObj, "UserResponseCode", (void *)&(noti->cdmaMsg.MsgData.inAck.UserResponseCode), SIPC_MARSHAL_DATA_CHAR_TYPE); /* Message center time stamp */ - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.year", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.year), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.month", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.month), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.day", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.day), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.hours", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.hours), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.minutes", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.minutes), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.seconds", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.seconds), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.year", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.year), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.month", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.month), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.day", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.day), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.hours", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.hours), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.minutes", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.minutes), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.seconds", (void *)&(noti->cdmaMsg.MsgData.inAck.MessageCenterTimeStamp.seconds), SIPC_MARSHAL_DATA_INT_TYPE); break; - + case SMS_MESSAGETYPE_USER_ACK: /* Origination address */ - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.Digit", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.Digit), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberMode", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.NumberMode), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberType", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.NumberType), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberPlan", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.NumberPlan), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.szAddrLength), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.szAddress[0]), TAPI_OBJECT_DATA_TYPE_STRING); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.Digit", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.Digit), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberMode", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.NumberMode), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberType", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.NumberType), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.NumberPlan", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.NumberPlan), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.szAddrLength), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigAddr.szAddress[0]), SIPC_MARSHAL_DATA_STRING_TYPE); /* Origination subaddress */ - sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.SubType", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigSubAddr.SubType), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.Odd", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigSubAddr.Odd), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigSubAddr.szAddrLength), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigSubAddr.szAddress), TAPI_OBJECT_DATA_TYPE_CHAR); - - sipc_util_marshal_object_add_data(notiObj, "TeleService", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.TeleService), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "bBearerReplySeqRequest", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.bBearerReplySeqRequest), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "ReplySeqNumber", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.ReplySeqNumber), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(notiObj, "MsgId", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MsgId), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MsgEncoding", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MsgEncoding), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MsgLength), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.szData[0]), TAPI_OBJECT_DATA_TYPE_STRING); + sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.SubType", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigSubAddr.SubType), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.Odd", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigSubAddr.Odd), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddrLength", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigSubAddr.szAddrLength), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(notiObj, "OrigSubAddr.szAddress", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.OrigSubAddr.szAddress), SIPC_MARSHAL_DATA_CHAR_TYPE); + + sipc_util_marshal_object_add_data(notiObj, "TeleService", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.TeleService), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "bBearerReplySeqRequest", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.bBearerReplySeqRequest), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "ReplySeqNumber", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.ReplySeqNumber), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MsgId", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MsgId), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MsgEncoding", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MsgEncoding), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MsgLength), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.szData[0]), SIPC_MARSHAL_DATA_STRING_TYPE); /* Message center time stamp */ - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.year", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.year), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.month", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.month), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.day", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.day), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.hours", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.hours), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.minutes", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.minutes), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.seconds", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.seconds), TAPI_OBJECT_DATA_TYPE_INT); - + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.year", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.year), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.month", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.month), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.day", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.day), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.hours", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.hours), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.minutes", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.minutes), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.seconds", (void *)&(noti->cdmaMsg.MsgData.inDeliverAck.MessageCenterTimeStamp.seconds), SIPC_MARSHAL_DATA_INT_TYPE); + break; default: break; } } break; + case TNOTI_SMS_CB_INCOM_EX_MSG: { const struct tnoti_sms_cdma_msg *noti = data; + hdr.cmd = TAPI_NOTI_SMS_CB_INCOM_EX_MSG; - sipc_util_marshal_object_add_data(notiObj, "ServiceCategory", (void *)&(noti->cdmaMsg.MsgData.inBc.ServiceCategory), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(notiObj, "ServiceCategory", (void *)&(noti->cdmaMsg.MsgData.inBc.ServiceCategory), SIPC_MARSHAL_DATA_INT_TYPE); - sipc_util_marshal_object_add_data(notiObj, "MsgId", (void *)&(noti->cdmaMsg.MsgData.inBc.MsgId), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "bBearerReplySeqRequest", (void *)&(noti->cdmaMsg.MsgData.inBc.bBearerReplySeqRequest), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "ReplySeqNumber", (void *)&(noti->cdmaMsg.MsgData.inBc.ReplySeqNumber), TAPI_OBJECT_DATA_TYPE_CHAR); - sipc_util_marshal_object_add_data(notiObj, "MsgEncoding", (void *)&(noti->cdmaMsg.MsgData.inBc.MsgEncoding), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->cdmaMsg.MsgData.inBc.MsgLength), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->cdmaMsg.MsgData.inBc.szData[0]), TAPI_OBJECT_DATA_TYPE_STRING); + sipc_util_marshal_object_add_data(notiObj, "MsgId", (void *)&(noti->cdmaMsg.MsgData.inBc.MsgId), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "bBearerReplySeqRequest", (void *)&(noti->cdmaMsg.MsgData.inBc.bBearerReplySeqRequest), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "ReplySeqNumber", (void *)&(noti->cdmaMsg.MsgData.inBc.ReplySeqNumber), SIPC_MARSHAL_DATA_CHAR_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MsgEncoding", (void *)&(noti->cdmaMsg.MsgData.inBc.MsgEncoding), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MsgLength", (void *)&(noti->cdmaMsg.MsgData.inBc.MsgLength), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "szData", (void *)&(noti->cdmaMsg.MsgData.inBc.szData[0]), SIPC_MARSHAL_DATA_STRING_TYPE); /* Message center time stamp */ - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.year", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.year), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.month", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.month), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.day", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.day), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.hours", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.hours), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.minutes", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.minutes), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.seconds", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.seconds), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.year", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.year), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.month", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.month), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.day", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.day), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.hours", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.hours), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.minutes", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.minutes), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MessageCenterTimeStamp.seconds", (void *)&(noti->cdmaMsg.MsgData.inBc.MessageCenterTimeStamp.seconds), SIPC_MARSHAL_DATA_INT_TYPE); /* Validity period - Absolute */ - sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.year", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.year), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.month", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.month), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.day", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.day), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.hours", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.hours), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.minutes", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.minutes), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.seconds", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.seconds), TAPI_OBJECT_DATA_TYPE_INT); - - sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodRel", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodRel), TAPI_OBJECT_DATA_TYPE_CHAR); - - sipc_util_marshal_object_add_data(notiObj, "Priority", (void *)&(noti->cdmaMsg.MsgData.inBc.Priority), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "AlertPriority", (void *)&(noti->cdmaMsg.MsgData.inBc.AlertPriority), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "MsgLang", (void *)&(noti->cdmaMsg.MsgData.inBc.MsgLang), TAPI_OBJECT_DATA_TYPE_INT); - sipc_util_marshal_object_add_data(notiObj, "Display", (void *)&(noti->cdmaMsg.MsgData.inBc.Display), TAPI_OBJECT_DATA_TYPE_INT); - + sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.year", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.year), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.month", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.month), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.day", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.day), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.hours", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.hours), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.minutes", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.minutes), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodAbs.seconds", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodAbs.seconds), SIPC_MARSHAL_DATA_INT_TYPE); + + sipc_util_marshal_object_add_data(notiObj, "ValidityPeriodRel", (void *)&(noti->cdmaMsg.MsgData.inBc.ValidityPeriodRel), SIPC_MARSHAL_DATA_CHAR_TYPE); + + sipc_util_marshal_object_add_data(notiObj, "Priority", (void *)&(noti->cdmaMsg.MsgData.inBc.Priority), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "AlertPriority", (void *)&(noti->cdmaMsg.MsgData.inBc.AlertPriority), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "MsgLang", (void *)&(noti->cdmaMsg.MsgData.inBc.MsgLang), SIPC_MARSHAL_DATA_INT_TYPE); + sipc_util_marshal_object_add_data(notiObj, "Display", (void *)&(noti->cdmaMsg.MsgData.inBc.Display), SIPC_MARSHAL_DATA_INT_TYPE); + } break; + case TNOTI_SMS_MEMORY_STATUS: { const struct tnoti_sms_memory_status *noti = data; + hdr.cmd = TAPI_NOTI_SMS_MEMORY_STATUS; - sipc_util_marshal_object_add_data(notiObj, "MemStatus", (void *)&(noti->status), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(notiObj, "MemStatus", (void *)&(noti->status), SIPC_MARSHAL_DATA_INT_TYPE); } break; + case TNOTI_SMS_DEVICE_READY: { const struct tnoti_sms_device_ready_status *noti = data; + hdr.cmd = TAPI_NOTI_SMS_DEVICE_READY; - sipc_util_marshal_object_add_data(notiObj, "DeviceStatus", (void *)&(noti->status), TAPI_OBJECT_DATA_TYPE_INT); + sipc_util_marshal_object_add_data(notiObj, "DeviceStatus", &(noti->status), SIPC_MARSHAL_DATA_INT_TYPE); } break; + default: + dbg("unknown notification"); + return FALSE; break; } - - if(notiObj){ + + if (notiObj) { serial_d = sipc_util_marshal_object_serializer(notiObj); hdr.data_len = strlen(serial_d); sipc_util_marshal_object_destory(notiObj); @@ -1111,15 +1167,18 @@ gboolean scomm_service_notification_sms(Communicator *comm, CoreObject *source, out_d = g_new0(char, sizeof(struct _tapi_header)+hdr.data_len); memcpy(out_d, &hdr, sizeof(struct _tapi_header)); - if(serial_d){ - memcpy(out_d+sizeof(struct _tapi_header), serial_d, hdr.data_len); + if (serial_d) { + memcpy(out_d + sizeof(struct _tapi_header), serial_d, hdr.data_len); g_free(serial_d); } - ret = sipc_server_broadcast(s, out_d, sizeof(struct _tapi_header)+hdr.data_len); + dbg("len = %d, data_len = %d, cmd = 0x%x", sizeof(struct _tapi_header) + hdr.data_len, hdr.data_len); + + ret = sipc_server_broadcast(ctx->sk_server, out_d, sizeof(struct _tapi_header) + hdr.data_len); + dbg("ret = %d", ret); g_free(out_d); - if(ret < 0){ + if (ret < 0) { return FALSE; } diff --git a/test/Makefile b/test/Makefile deleted file mode 100644 index 2ee5e47..0000000 --- a/test/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -TARGET = teltest - -SRCS = main.c menu.c gprs.c network.c modem.c custom.c -OBJS = $(SRCS:.c=.o) -PKGS = libsocket-comm-client glib-2.0 gobject-2.0 libsocket-comm-client - -CC = gcc -CFLAGS = -Wall -g `pkg-config --cflags $(PKGS)` -LIBS = `pkg-config --libs $(PKGS)` - -all: $(TARGET) - -$(TARGET): $(OBJS) - $(CC) $(OBJS) $(LIBS) -o $(TARGET) - -.c.o: $(SRCS) - $(CC) $(CFLAGS) -c $^ -o $@ - -clean: - rm -f $(OBJS) $(TARGET) diff --git a/test/custom.c b/test/custom.c deleted file mode 100644 index bd37aed..0000000 --- a/test/custom.c +++ /dev/null @@ -1,36 +0,0 @@ -/* - * tel-plugin-socket-communicator - * - * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Ja-young Gu - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "menu.h" - - -struct menu_data menu_custom[] = { - { "1", "None", NULL, NULL, NULL}, - { NULL, NULL, }, -}; - diff --git a/test/gprs.c b/test/gprs.c deleted file mode 100644 index ea482e0..0000000 --- a/test/gprs.c +++ /dev/null @@ -1,117 +0,0 @@ -/* - * tel-plugin-socket-communicator - * - * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Ja-young Gu - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "menu.h" -#include "noti.h" - -static char data_gprs_dun_signal[MENU_DATA_SIZE + 1] = "dtr"; -static char data_gprs_dun_status[MENU_DATA_SIZE + 1] = "off"; - - - -gboolean on_noti_ps_dun_pin_control(tapi_service_object_t *data, void *user_data) -{ - gchar *str_signal; - gboolean status; - - msg("TAPI_NOTI_PS_DUN_PIN_CONTROL receive !!"); - - str_signal = tapi_service_object_get_string(data, "signal"); - status = tapi_service_object_get_boolean(data, "status"); - - msg("signal = %s", str_signal); - msg("status = %d", status); - return TRUE; -} - - -gboolean on_noti_ps_external_call(tapi_service_object_t *data, void *user_data) -{ - msg("TAPI_NOTI_PS_EXTERNAL_CALL receive !!"); - - /* no data */ - - return TRUE; -} - -static gboolean on_gprs_dun_callback(tapi_service_object_t *data, void *cb_data) -{ - int result; - - msg("TAPI_SERVICE_PS_SET_DUN_PIN_CONTROL response receive"); - result = tapi_service_object_get_int(data, "result"); - - msg("result = %d (0 = success)", result); - - return TRUE; -} - -static int run_gprs_dun(MManager *mm, struct menu_data *menu) -{ - tapi_handle_t *handle = menu_manager_ref_user_data(mm); - tapi_service_object_t *in = NULL; - gboolean in_status = FALSE; - - if (!g_strcmp0(data_gprs_dun_status, "on")) { - in_status = TRUE; - } - else if (!g_strcmp0(data_gprs_dun_status, "off")) { - in_status = FALSE; - } - else { - msg("wrong value in STATUS"); - return -1; - } - - msg("SIGNAL = %s", data_gprs_dun_signal); - msg("STATUS = %s (convert to boolean = %d)", data_gprs_dun_status, in_status); - msg("call [%s] tapi service !!!", menu->title); - - in = tapi_create_service_object(TAPI_SERVICE_PS_SET_DUN_PIN_CONTROL); - tapi_service_object_add_data(in, "signal", data_gprs_dun_signal, TAPI_OBJECT_DATA_TYPE_STRING); - tapi_service_object_add_data(in, "status", &in_status, TAPI_OBJECT_DATA_TYPE_BOOLEAN); - - tel_processing_command_async(handle, in, on_gprs_dun_callback, NULL); - - return 0; -} - -struct menu_data menu_gprs_dun[] = { - { "1", "SIGNAL (dcd / dtr / dsr / rts / cts / ri)", NULL, NULL, data_gprs_dun_signal}, - { "2", "STATUS (on / off)", NULL, NULL, data_gprs_dun_status}, - { "3", "run", NULL, run_gprs_dun, NULL}, - { NULL, NULL, }, -}; - -struct menu_data menu_gprs[] = { - { "1", "DUN Pin Control", menu_gprs_dun, NULL, NULL}, - { NULL, NULL, }, -}; - diff --git a/test/main.c b/test/main.c deleted file mode 100644 index 9311fad..0000000 --- a/test/main.c +++ /dev/null @@ -1,135 +0,0 @@ -/* - * tel-plugin-socket-communicator - * - * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Ja-young Gu - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "menu.h" -#include "noti.h" - -extern struct menu_data menu_modem[]; -extern struct menu_data menu_gprs[]; -extern struct menu_data menu_net[]; -extern struct menu_data menu_custom[]; - -static struct menu_data menu_xxx[] = { - { "1", "XXX", NULL, NULL, NULL}, - { NULL, NULL, }, -}; - -static struct menu_data menu_main[] = { - { "1", "Common", menu_xxx, NULL, NULL}, - { "2", "Modem", menu_modem, NULL, NULL}, - { "3", "Call", menu_xxx, NULL, NULL}, - { "4", "SIM", menu_xxx, NULL, NULL}, - { "5", "SS", menu_xxx, NULL, NULL}, - { "6", "SMS", menu_xxx, NULL, NULL}, - { "7", "Network", menu_net, NULL, NULL}, - { "8", "SAT", menu_xxx, NULL, NULL}, - { "9", "GPRS", menu_gprs, NULL, NULL}, - { "a", "SOUND", menu_xxx, NULL, NULL}, - { "b", "Custom", menu_custom,NULL, NULL}, - { NULL, NULL, }, -}; - -tapi_handle_t *register_client(void) -{ - tapi_handle_t *handle; - - handle = tapi_init("com.xxx.test", "default"); - if (!handle) { - printf("fail to register server\n"); - return NULL; - } - - printf("success to register server\n"); - return handle; -} - -void register_event(tapi_handle_t *handle) -{ - int ret; - - /* PS */ - ret = tapi_register_notification(handle, TAPI_NOTI_PS_DUN_PIN_CONTROL, on_noti_ps_dun_pin_control, NULL); - ret = tapi_register_notification(handle, TAPI_NOTI_PS_EXTERNAL_CALL, on_noti_ps_external_call, NULL); - - /* Network */ - ret = tapi_register_notification(handle, TAPI_NOTI_NETWORK_REGISTRATION_STATUS, on_noti_network_registration_status, NULL); - ret = tapi_register_notification(handle, TAPI_NOTI_NETWORK_LOCATION_CELLINFO, on_noti_network_location_cellinfo, NULL); - ret = tapi_register_notification(handle, TAPI_NOTI_NETWORK_ICON_INFO, on_noti_network_icon_info, NULL); - ret = tapi_register_notification(handle, TAPI_NOTI_NETWORK_CHANGE, on_noti_network_change, NULL); - ret = tapi_register_notification(handle, TAPI_NOTI_NETWORK_TIMEINFO, on_noti_network_timeinfo, NULL); -} - -void deregister_client(tapi_handle_t *handle) -{ - gboolean rv = FALSE; - - if (!handle) - return; - - rv = tapi_deinit(handle); - if (!rv) { - printf("fail to deregister server\n"); - return; - } - - printf("success to deregister server\n"); - return; -} - -int main(int arg, char **argv) -{ - GMainLoop *mainloop; - GIOChannel *channel = g_io_channel_unix_new(STDIN_FILENO); - MManager *manager; - tapi_handle_t *handle; - - mainloop = g_main_loop_new(NULL, FALSE); - handle = register_client(); - - register_event(handle); - - printf("******* Integrated TAPI Test Application: Version 0.4 *****\n"); - printf("******* Buid On: %s %s ********\n", __DATE__, __TIME__); - - manager = menu_manager_new(menu_main, mainloop); - menu_manager_set_user_data(manager, handle); - menu_manager_run(manager); - - g_io_add_watch(channel, (G_IO_IN | G_IO_ERR | G_IO_HUP | G_IO_NVAL), on_menu_manager_keyboard, manager); - - g_main_loop_run(mainloop); - - printf("******* Bye bye *******\n"); - - deregister_client(handle); - - return 0; -} - diff --git a/test/menu.c b/test/menu.c deleted file mode 100644 index 5c82451..0000000 --- a/test/menu.c +++ /dev/null @@ -1,249 +0,0 @@ -/* - * tel-plugin-socket-communicator - * - * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Ja-young Gu - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include - -#include "menu.h" - -#define DEFAULT_MENU_MENU "m" -#define DEFAULT_MENU_PREV "p" -#define DEFAULT_MENU_QUIT "q" - - -struct menu_manager { - GQueue *stack; - GQueue *title_stack; - - struct menu_data *menu; - - char *buf; - - void *user_data; - GMainLoop *mainloop; -}; - - -char key_buffer[MENU_DATA_SIZE]; - -static void _show_prompt() -{ - msgn(" >> "); -} - -static void _show_reserved_menu() -{ - msg(ANSI_COLOR_DARKGRAY "--------------------------------------------" ANSI_COLOR_NORMAL); - msg(" [%3s] Previous menu ", DEFAULT_MENU_PREV); - msg(" [%3s] Show Menu ", DEFAULT_MENU_MENU); - msg(" [%3s] Quit ", DEFAULT_MENU_QUIT); -} - -static void _show_input_ok() -{ - msg("OK."); -} - -static void _show_menu(MManager *m, struct menu_data menu[]) -{ - int i = 0; - int len = 0; - struct menu_data *item; - - if (!menu) - return; - - msg(""); - msg("============================================"); - len = g_queue_get_length(m->title_stack); - msgn(ANSI_COLOR_YELLOW " Main"); - if (len > 0) { - for (i = 0; i < len; i++) { - msgn(ANSI_COLOR_NORMAL " >> " ANSI_COLOR_YELLOW "%s", (char *)g_queue_peek_nth(m->title_stack, i)); - } - } - msg(ANSI_COLOR_NORMAL); - msg("--------------------------------------------"); - - i = 0; - while (1) { - item = menu + i; - if (item->key == NULL) - break; - - //msgn(" [%p][%3s] ", item, item->key); - msgn(" [%3s] ", item->key); - if (item->data) { - msg("%s " ANSI_COLOR_LIGHTBLUE "(%s)" ANSI_COLOR_NORMAL, item->title, item->data); - } - else { - msg("%s", item->title); - } - - i++; - } - - _show_reserved_menu(); - - msg("============================================"); - - _show_prompt(); -} - -static void _show_item_data_input_msg(struct menu_data *item) -{ - msg(""); - msg("============================================"); - msg(" Input [%s] data ", item->title); - msg("--------------------------------------------"); - msg(" current = [%s]", item->data); - msgn(" new >> "); -} - -static void _move_menu(MManager *mm, struct menu_data menu[], char *key) -{ - struct menu_data *item; - int i = 0; - - if (!mm->menu) - return; - - if (!g_strcmp0(DEFAULT_MENU_PREV, key)) { - if (g_queue_get_length(mm->stack) > 0) { - mm->menu = g_queue_pop_tail(mm->stack); - g_queue_pop_tail(mm->title_stack); - } - _show_menu(mm, mm->menu); - mm->buf = key_buffer; - } - else if (!g_strcmp0(DEFAULT_MENU_MENU, key)) { - _show_menu(mm, mm->menu); - } - else if (!g_strcmp0(DEFAULT_MENU_QUIT, key)) { - g_main_loop_quit(mm->mainloop); - } - - while (1) { - item = menu + i; - if (item->key == NULL) - break; - - if (!g_strcmp0(item->key, key)) { - if (item->sub_menu) { - g_queue_push_tail(mm->stack, mm->menu); - g_queue_push_tail(mm->title_stack, item->title); - - mm->menu = item->sub_menu; - _show_menu(mm, mm->menu); - mm->buf = key_buffer; - } - - if (item->callback) - item->callback(mm, item); - - if (item->data) { - _show_item_data_input_msg(item); - mm->buf = item->data; - } - return; - } - - i++; - } - - _show_prompt(); -} - -MManager *menu_manager_new(struct menu_data items[], GMainLoop *mainloop) -{ - MManager *mm; - - mm = calloc(sizeof(struct menu_manager), 1); - mm->stack = g_queue_new(); - mm->title_stack = g_queue_new(); - mm->menu = items; - mm->mainloop = mainloop; - - return mm; -} - -int menu_manager_run(MManager *mm) -{ - _show_menu(mm, mm->menu); - - mm->buf = key_buffer; - - return 0; -} - -int menu_manager_set_user_data(MManager *mm, void *user_data) -{ - if (!mm) - return -1; - - mm->user_data = user_data; - - return 0; -} - -void *menu_manager_ref_user_data(MManager *mm) -{ - if (!mm) - return NULL; - - return mm->user_data; -} - -gboolean on_menu_manager_keyboard(GIOChannel *src, GIOCondition con, gpointer data) -{ - MManager *mm = data; - char local_buf[MENU_DATA_SIZE + 1] = { - 0, }; - - fgets(local_buf, MENU_DATA_SIZE, stdin); - - if (strlen(local_buf) > 0) { - if (local_buf[strlen(local_buf) - 1] == '\n') - local_buf[strlen(local_buf) - 1] = '\0'; - } - - if (mm->buf == key_buffer) { - if (strlen(local_buf) < 1) { - _show_prompt(); - return TRUE; - } - - _move_menu(mm, mm->menu, local_buf); - } - else { - if (mm->buf) { - memset(mm->buf, 0, MENU_DATA_SIZE); - memcpy(mm->buf, local_buf, MENU_DATA_SIZE); - _show_input_ok(); - } - mm->buf = key_buffer; - _move_menu(mm, mm->menu, DEFAULT_MENU_MENU); - } - - return TRUE; -} diff --git a/test/menu.h b/test/menu.h deleted file mode 100644 index c84fc1a..0000000 --- a/test/menu.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * tel-plugin-socket-communicator - * - * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Ja-young Gu - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __MENU_H__ -#define __MENU_H__ - -__BEGIN_DECLS - -#define ANSI_COLOR_NORMAL "\e[0m" - -#define ANSI_COLOR_BLACK "\e[0;30m" -#define ANSI_COLOR_RED "\e[0;31m" -#define ANSI_COLOR_GREEN "\e[0;32m" -#define ANSI_COLOR_BROWN "\e[0;33m" -#define ANSI_COLOR_BLUE "\e[0;34m" -#define ANSI_COLOR_MAGENTA "\e[0;35m" -#define ANSI_COLOR_CYAN "\e[0;36m" -#define ANSI_COLOR_LIGHTGRAY "\e[0;37m" - -#define ANSI_COLOR_DARKGRAY "\e[1;30m" -#define ANSI_COLOR_LIGHTRED "\e[1;31m" -#define ANSI_COLOR_LIGHTGREEN "\e[1;32m" -#define ANSI_COLOR_YELLOW "\e[1;33m" -#define ANSI_COLOR_LIGHTBLUE "\e[1;34m" -#define ANSI_COLOR_LIGHTMAGENTA "\e[1;35m" -#define ANSI_COLOR_LIGHTCYAN "\e[1;36m" -#define ANSI_COLOR_WHITE "\e[1;37m" - -#define msg(fmt,args...) { fprintf(stdout, fmt "\n", ##args); fflush(stdout); } -#define msgn(fmt,args...) { fprintf(stdout, fmt, ##args); fflush(stdout); } - -#define MENU_DATA_SIZE 255 - -typedef struct menu_manager MManager; - -struct menu_data { - char *key; - char *title; - struct menu_data *sub_menu; - int (*callback)(MManager *mm, struct menu_data *menu); - char *data; -}; - -MManager* menu_manager_new(struct menu_data items[], GMainLoop *mainloop); -int menu_manager_run(MManager *mm); -int menu_manager_set_user_data(MManager *mm, void *user_data); -void* menu_manager_ref_user_data(MManager *mm); - -gboolean on_menu_manager_keyboard(GIOChannel *src, GIOCondition con, gpointer data); - -__END_DECLS - -#endif diff --git a/test/modem.c b/test/modem.c deleted file mode 100644 index 0fabe74..0000000 --- a/test/modem.c +++ /dev/null @@ -1,93 +0,0 @@ -/* - * tel-plugin-socket-communicator - * - * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Ja-young Gu - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "menu.h" - -static char data_modem_set_flight_mode_enable[MENU_DATA_SIZE + 1] = "true"; - - -static int run_modem_set_flight_mode(MManager *mm, struct menu_data *menu) -{ - msg("enable = %s", data_modem_set_flight_mode_enable); - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - -static int run_modem_get_flight_mode(MManager *mm, struct menu_data *menu) -{ - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - -static int run_modem_get_imei(MManager *mm, struct menu_data *menu) -{ - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - -static int run_modem_get_version(MManager *mm, struct menu_data *menu) -{ - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - - -static struct menu_data menu_modem_set_flight_mode[] = { - { "1", "enable (true / false)", NULL, NULL, data_modem_set_flight_mode_enable}, - { "2", "run", NULL, run_modem_set_flight_mode, NULL}, - { NULL, NULL, }, -}; - -static struct menu_data menu_modem_get_flight_mode[] = { - { "1", "run", NULL, run_modem_get_flight_mode, NULL}, - { NULL, NULL, }, -}; - - -static struct menu_data menu_modem_get_imei[] = { - { "1", "run", NULL, run_modem_get_imei, NULL}, - { NULL, NULL, }, -}; - -static struct menu_data menu_modem_get_version[] = { - { "1", "run", NULL, run_modem_get_version, NULL}, - { NULL, NULL, }, -}; - - -struct menu_data menu_modem[] = { - { "1", "SET Flight mode", menu_modem_set_flight_mode, NULL, NULL}, - { "2", "GET Flight mode", menu_modem_get_flight_mode, NULL, NULL}, - { "3", "GET IMEI", menu_modem_get_imei, NULL, NULL}, - { "4", "GET Version", menu_modem_get_version, NULL, NULL}, - { NULL, NULL, }, -}; diff --git a/test/network.c b/test/network.c deleted file mode 100644 index 5a894cf..0000000 --- a/test/network.c +++ /dev/null @@ -1,428 +0,0 @@ -/* - * tel-plugin-socket-communicator - * - * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Ja-young Gu - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "menu.h" -#include "noti.h" - -static char data_menu_net_set_plmn_mode_mode[MENU_DATA_SIZE + 1] = "automatic"; -static char data_menu_net_set_plmn_mode_plmn[MENU_DATA_SIZE + 1] = "450001"; - -static char data_net_set_service_domain_domain[MENU_DATA_SIZE + 1] = "combined"; - -static char data_net_set_band_mode[MENU_DATA_SIZE + 1] = "only"; -static char data_net_set_band_band[MENU_DATA_SIZE + 1] = "1"; - -static char data_net_set_preferred_plmn_mode[MENU_DATA_SIZE + 1] = "add"; -static char data_net_set_preferred_plmn_plmn[MENU_DATA_SIZE + 1] = "45001"; -static char data_net_set_preferred_plmn_act[MENU_DATA_SIZE + 1] = "1"; -static char data_net_set_preferred_plmn_ef_index[MENU_DATA_SIZE + 1] = "0"; - -static char data_net_set_order_order[MENU_DATA_SIZE + 1] = "auto"; - -static char data_net_set_poa_enable[MENU_DATA_SIZE + 1] = "true"; - - -gboolean on_noti_network_registration_status(tapi_service_object_t *data, void *user_data) -{ - gint cs_domain_status, ps_domain_status, service_type, roaming_status; - - msg("TAPI_NOTI_NETWORK_REGISTRATION_STATUS receive !!"); - - cs_domain_status = tapi_service_object_get_int(data, "cs_domain_status"); - ps_domain_status = tapi_service_object_get_int(data, "ps_domain_status"); - service_type = tapi_service_object_get_int(data, "service_type"); - roaming_status = tapi_service_object_get_int(data, "roaming_status"); - - msg("cs_domain_status = %d", cs_domain_status); - msg("ps_domain_status = %d", ps_domain_status); - msg("service_type = %d", service_type); - msg("roaming_status = %d", roaming_status); - - return TRUE; -} - -gboolean on_noti_network_location_cellinfo(tapi_service_object_t *data, void *user_data) -{ - gint lac, cell_id; - - msg("TAPI_NOTI_NETWORK_LOCATION_CELLINFO receive !!"); - - lac = tapi_service_object_get_int(data, "lac"); - cell_id = tapi_service_object_get_int(data, "cell_id"); - - msg("lac = %d", lac); - msg("cell_id = %d", cell_id); - - return TRUE; -} - -gboolean on_noti_network_icon_info(tapi_service_object_t *data, void *user_data) -{ - gint type, rssi, battery, hdr_rssi; - - msg("TAPI_NOTI_NETWORK_ICON_INFO receive !!"); - - type = tapi_service_object_get_int(data, "type"); - rssi = tapi_service_object_get_int(data, "rssi"); - battery = tapi_service_object_get_int(data, "battery"); - hdr_rssi = tapi_service_object_get_int(data, "hdr_rssi"); - - msg("type = %d", type); - msg("rssi = %d", rssi); - msg("battery = %d", battery); - msg("hdr_rssi = %d", hdr_rssi); - - return TRUE; -} - -gboolean on_noti_network_change(tapi_service_object_t *data, void *user_data) -{ - gchar *plmn; - gint act, lac, carrier, sid, nid, bs_id, bs_lat, bs_long, reg_sonze, pilot_pn; - - msg("TAPI_NOTI_NETWORK_CHANGE receive !!"); - - plmn = tapi_service_object_get_string(data, "plmn"); - act = tapi_service_object_get_int(data, "act"); - lac = tapi_service_object_get_int(data, "lac"); - carrier = tapi_service_object_get_int(data, "carrier"); - sid = tapi_service_object_get_int(data, "sid"); - nid = tapi_service_object_get_int(data, "nid"); - bs_id = tapi_service_object_get_int(data, "bs_id"); - bs_lat = tapi_service_object_get_int(data, "bs_lat"); - bs_long = tapi_service_object_get_int(data, "bs_long"); - reg_sonze = tapi_service_object_get_int(data, "reg_sonze"); - pilot_pn = tapi_service_object_get_int(data, "pilot_pn"); - - msg("plmn = %s", plmn); - msg("act = %d", act); - msg("lac = %d", lac); - msg("carrier = %d", carrier); - msg("sid = %d", sid); - msg("nid = %d", nid); - msg("bs_id = %d", bs_id); - msg("bs_lat = %d", bs_lat); - msg("bs_long = %d", bs_long); - msg("reg_sonze = %d", reg_sonze); - msg("pilot_pn = %d", pilot_pn); - - return TRUE; -} - -gboolean on_noti_network_timeinfo(tapi_service_object_t *data, void *user_data) -{ - gchar *plmn; - gint year, month, day, hour, minute, second, wday, gmtoff, dstoff, isdst; - - msg("TAPI_NOTI_NETWORK_TIMEINFO receive !!"); - - plmn = tapi_service_object_get_string(data, "plmn"); - year = tapi_service_object_get_int(data, "year"); - month = tapi_service_object_get_int(data, "month"); - day = tapi_service_object_get_int(data, "day"); - hour = tapi_service_object_get_int(data, "hour"); - minute = tapi_service_object_get_int(data, "minute"); - second = tapi_service_object_get_int(data, "second"); - wday = tapi_service_object_get_int(data, "wday"); - gmtoff = tapi_service_object_get_int(data, "gmtoff"); - dstoff = tapi_service_object_get_int(data, "dstoff"); - isdst = tapi_service_object_get_int(data, "isdst"); - - msg("plmn = %s", plmn); - msg("year = %d", year); - msg("month = %d", month); - msg("day = %d", day); - msg("hour = %d", hour); - msg("minute = %d", minute); - msg("second = %d", second); - msg("wday = %d", wday); - msg("gmtoff = %d", gmtoff); - msg("dstoff = %d", dstoff); - msg("isdst = %d", isdst); - - return TRUE; -} - -static gboolean on_net_search(tapi_service_object_t *data, void *cb_data) -{ - int count; - int i; - char buf[10] = {0, }; - char *plmn; - int status; - int act; - tapi_service_object_t *entry; - - msg("TAPI_SERVICE_NETWORK_SEARCH response receive"); - count = tapi_service_object_get_int(data, "count"); - - msg("count = %d", count); - for (i = 0; i < count; i++) { - snprintf(buf, 10, "%d", i); - entry = tapi_service_object_get_object(data, buf); - if (!entry) - continue; - - plmn = tapi_service_object_get_string(entry, "plmn"); - status = tapi_service_object_get_int(entry, "status"); - act = tapi_service_object_get_int(entry, "act"); - msg("[%2d] plmn=[%s], status=%d, act=%d", i, plmn, status, act); - } - - return TRUE; -} - -static int run_net_search(MManager *mm, struct menu_data *menu) -{ - tapi_handle_t *handle = menu_manager_ref_user_data(mm); - tapi_service_object_t *in = NULL; - - msg("call [%s] tapi service !!!", menu->title); - - in = tapi_create_service_object(TAPI_SERVICE_NETWORK_SEARCH); - - tel_processing_command_async(handle, in, on_net_search, NULL); - - return 0; -} - -static int run_net_set_plmn_mode(MManager *mm, struct menu_data *menu) -{ - msg("mode = %s", data_menu_net_set_plmn_mode_mode); - msg("plmn = %s", data_menu_net_set_plmn_mode_plmn); - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - -static int run_net_get_plmn_mode(MManager *mm, struct menu_data *menu) -{ - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - -static int run_net_set_service_domain(MManager *mm, struct menu_data *menu) -{ - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - -static int run_net_get_service_domain(MManager *mm, struct menu_data *menu) -{ - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - -static int run_net_set_band(MManager *mm, struct menu_data *menu) -{ - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - -static int run_net_get_band(MManager *mm, struct menu_data *menu) -{ - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - -static int run_net_set_preferred_plmn(MManager *mm, struct menu_data *menu) -{ - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - -static int run_net_get_preferred_plmn(MManager *mm, struct menu_data *menu) -{ - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - -static int run_net_set_order(MManager *mm, struct menu_data *menu) -{ - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - -static int run_net_get_order(MManager *mm, struct menu_data *menu) -{ - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - -static int run_net_set_poa(MManager *mm, struct menu_data *menu) -{ - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - -static int run_net_get_poa(MManager *mm, struct menu_data *menu) -{ - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - -static int run_net_set_cancel_manual_search(MManager *mm, struct menu_data *menu) -{ - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - -static int run_net_get_serving_network(MManager *mm, struct menu_data *menu) -{ - msg("call [%s] tapi service !!!", menu->title); - - return 0; -} - - -static struct menu_data menu_net_search[] = { - { "1", "run", NULL, run_net_search, NULL}, - { NULL, NULL, }, -}; - -static struct menu_data menu_net_set_plmn_mode[] = { - { "1", "mode (automatic / manual)", NULL, NULL, data_menu_net_set_plmn_mode_mode}, - { "2", "plmn (45001)", NULL, NULL, data_menu_net_set_plmn_mode_plmn}, - { "3", "run", NULL, run_net_set_plmn_mode, NULL}, - { NULL, NULL, }, -}; - -static struct menu_data menu_net_get_plmn_mode[] = { - { "1", "run", NULL, run_net_get_plmn_mode, NULL}, - { NULL, NULL, }, -}; - - -static struct menu_data menu_net_set_service_domain[] = { - { "1", "domain (circuit / packet / combined)", NULL, NULL, data_net_set_service_domain_domain}, - { "2", "run", NULL, run_net_set_service_domain, NULL}, - { NULL, NULL, }, -}; - -static struct menu_data menu_net_get_service_domain[] = { - { "1", "run", NULL, run_net_get_service_domain, NULL}, - { NULL, NULL, }, -}; - - -static struct menu_data menu_net_set_band[] = { - { "1", "mode (only / preferred)", NULL, NULL, data_net_set_band_mode}, - { "2", "band (1=.., 2=..)", NULL, NULL, data_net_set_band_band}, - { "3", "run", NULL, run_net_set_band, NULL}, - { NULL, NULL, }, -}; - -static struct menu_data menu_net_get_band[] = { - { "1", "run", NULL, run_net_get_band, NULL}, - { NULL, NULL, }, -}; - - -static struct menu_data menu_net_set_preferred_plmn[] = { - { "1", "mode (add / edit / delete)", NULL, NULL, data_net_set_preferred_plmn_mode}, - { "2", "plmn (45001)", NULL, NULL, data_net_set_preferred_plmn_plmn}, - { "3", "act (1=.., 2=..)", NULL, NULL, data_net_set_preferred_plmn_act}, - { "4", "ef_index (0,...)", NULL, NULL, data_net_set_preferred_plmn_ef_index}, - { "5", "run", NULL, run_net_set_preferred_plmn, NULL}, - { NULL, NULL, }, -}; - -static struct menu_data menu_net_get_preferred_plmn[] = { - { "1", "run", NULL, run_net_get_preferred_plmn, NULL}, - { NULL, NULL, }, -}; - - -static struct menu_data menu_net_set_order[] = { - { "1", "order (auto / gsm / wcdma / no_change)", NULL, NULL, data_net_set_order_order}, - { "2", "run", NULL, run_net_set_order, NULL}, - { NULL, NULL, }, -}; - -static struct menu_data menu_net_get_order[] = { - { "1", "run", NULL, run_net_get_order, NULL}, - { NULL, NULL, }, -}; - - -static struct menu_data menu_net_set_poa[] = { - { "1", "enable (true / false)", NULL, NULL, data_net_set_poa_enable}, - { "2", "run", NULL, run_net_set_poa, NULL}, - { NULL, NULL, }, -}; - -static struct menu_data menu_net_get_poa[] = { - { "1", "run", NULL, run_net_get_poa, NULL}, - { NULL, NULL, }, -}; - - -static struct menu_data menu_net_set_cancel_manual_search[] = { - { "1", "run", NULL, run_net_set_cancel_manual_search, NULL}, - { NULL, NULL, }, -}; - - -static struct menu_data menu_net_get_serving_network[] = { - { "1", "run", NULL, run_net_get_serving_network, NULL}, - { NULL, NULL, }, -}; - - -struct menu_data menu_net[] = { - { "1", "Search", menu_net_search, NULL, NULL}, - { "2s", "SET PLMN Selection mode", menu_net_set_plmn_mode, NULL, NULL}, - { "2g", "GET PLMN Selection mode", menu_net_get_plmn_mode, NULL, NULL}, - { "3s", "SET Service Domain", menu_net_set_service_domain, NULL, NULL}, - { "3g", "GET_Service Domain", menu_net_get_service_domain, NULL, NULL}, - { "4s", "SET Band", menu_net_set_band, NULL, NULL}, - { "4g", "GET Band", menu_net_get_band, NULL, NULL}, - { "5s", "SET Preferred PLMN", menu_net_set_preferred_plmn, NULL, NULL}, - { "5g", "GET Preferred PLMN", menu_net_get_preferred_plmn, NULL, NULL}, - { "6s", "SET Order", menu_net_set_order, NULL, NULL}, - { "6g", "GET Order", menu_net_get_order, NULL, NULL}, - { "7s", "SET Power on attach", menu_net_set_poa, NULL, NULL}, - { "7g", "GET Power on attach", menu_net_get_poa, NULL, NULL}, - { "8s", "SET Cancel manual search", menu_net_set_cancel_manual_search, NULL, NULL}, - { "9g", "GET Serving network", menu_net_get_serving_network, NULL, NULL}, - { NULL, NULL, }, -}; diff --git a/test/noti.h b/test/noti.h deleted file mode 100644 index d8e3bd3..0000000 --- a/test/noti.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * tel-plugin-socket-communicator - * - * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Ja-young Gu - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __NOTI_H__ -#define __NOTI_H__ - -gboolean on_noti_ps_dun_pin_control(tapi_service_object_t *data, void *user_data); -gboolean on_noti_ps_external_call(tapi_service_object_t *data, void *user_data); - -gboolean on_noti_network_registration_status(tapi_service_object_t *data, void *user_data); -gboolean on_noti_network_location_cellinfo(tapi_service_object_t *data, void *user_data); -gboolean on_noti_network_icon_info(tapi_service_object_t *data, void *user_data); -gboolean on_noti_network_change(tapi_service_object_t *data, void *user_data); -gboolean on_noti_network_timeinfo(tapi_service_object_t *data, void *user_data); - -#endif