[bluetooth] pushMessage 67/102867/2
authorPiotr Dabrowski <p.dabrowski2@samsung.com>
Wed, 16 Nov 2016 16:29:02 +0000 (17:29 +0100)
committerPyun DoHyun <dh79.pyun@samsung.com>
Thu, 8 Dec 2016 00:17:23 +0000 (16:17 -0800)
Change-Id: I23ea4c2e620fd03d90f95b0693780c898332aae3

include/bluetooth_private.h
include/mobile/bluetooth_internal.h
include/wearable/bluetooth_internal.h
src/bluetooth-common.c
src/bluetooth-map-client.c

index ce62351bdb6fd2422ac68895da349553576c6d18..9de7dde47ac7f383bb0c38f2923ac7f1c6bf8e98 100644 (file)
@@ -159,11 +159,7 @@ typedef enum {
        BT_EVENT_MAP_CLIENT_LIST_FILTER_FIELDS, /**< MAP - get filter field list callback */
        BT_EVENT_MAP_CLIENT_LIST_MESSAGES, /**< MAP - listMessages event*/
        BT_EVENT_MAP_CLIENT_GET_MESSAGE, /**< MAP - getMessage event*/
-       BT_EVENT_MAP_CLIENT_444, /**< MAP client 444 */
-       BT_EVENT_MAP_CLIENT_555, /**< MAP client 555 */
-       BT_EVENT_MAP_CLIENT_666, /**< MAP client 666 */
-       BT_EVENT_MAP_CLIENT_777, /**< MAP client 777 */
-       BT_EVENT_MAP_CLIENT_888, /**< MAP client 888 */
+       BT_EVENT_MAP_CLIENT_PUSH_MESSAGE, /**< MAP - pushMessage event*/
        BT_EVENT_MAX
 } bt_event_e;
 
index 9174bd988264d03bad7d2d8ab8b990d9c7a490d6..cd712320fb33d9aa9462bda04a1e10dab7ee8a7a 100644 (file)
@@ -1707,7 +1707,8 @@ int bt_map_client_push_message(
     const char* source_file,
     const char* folder,
     bt_map_client_push_message_args_h args,
-    bt_map_client_push_message_cb callback
+    bt_map_client_push_message_cb callback,
+    void* user_data
 );
 
 /**
@@ -1774,6 +1775,26 @@ void bt_map_client_list_messages_filter_destroy(
     bt_map_client_list_messages_filter_h *filter
 );
 
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_MAP_CLIENT_MODULE
+ * @brief Creates a List Messages filter.
+ * @since_tizen 3.0
+ * @param[in] args Arguments structure handle
+ */
+void bt_map_client_push_message_args_create(
+    bt_map_client_push_message_args_h *args
+);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_MAP_CLIENT_MODULE
+ * @brief Destroys a Push Messages arguments structure.
+ * @since_tizen 3.0
+ * @param[in] args Arguments structure handle
+ */
+void bt_map_client_push_message_args_destroy(
+    bt_map_client_push_message_args_h *args
+);
+
 /**
  * @internal
  * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE
index 2b6d057a2afee88b6c7d0eeafe52becaced569f2..b80fb6172b6e3b330cc8035946bad2e543f39535 100644 (file)
@@ -1677,7 +1677,8 @@ int bt_map_client_push_message(
     const char* source_file,
     const char* folder,
     bt_map_client_push_message_args_h args,
-    bt_map_client_push_message_cb callback
+    bt_map_client_push_message_cb callback,
+    void* user_data
 );
 
 /**
@@ -1744,6 +1745,26 @@ void bt_map_client_list_messages_filter_destroy(
     bt_map_client_list_messages_filter_h *filter
 );
 
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_MAP_CLIENT_MODULE
+ * @brief Creates a List Messages filter.
+ * @since_tizen 3.0
+ * @param[in] args Arguments structure handle
+ */
+void bt_map_client_push_message_args_create(
+    bt_map_client_push_message_args_h *args
+);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_MAP_CLIENT_MODULE
+ * @brief Destroys a Push Messages arguments structure.
+ * @since_tizen 3.0
+ * @param[in] args Arguments structure handle
+ */
+void bt_map_client_push_message_args_destroy(
+    bt_map_client_push_message_args_h *args
+);
+
 /**
  * @internal
  * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE
index 101b6a58938ca3bfca9b44a627cc6b08b43c58d7..050a9474486dd64a82da55d9e6e79b7ddd0a8a9d 100644 (file)
@@ -1514,11 +1514,13 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
                        param->result, res, user_data);
                break;
 
-       /// TODO MAP place for your case 4
-       /// TODO MAP place for your case 5
-       /// TODO MAP place for your case 6
-       /// TODO MAP place for your case 7
-       /// TODO MAP place for your case 8
+       case BLUETOOTH_EVENT_MAP_PUSH_MESSAGE_COMPLETE:
+               BT_INFO("BLUETOOTH_EVENT_MAP_PUSH_MESSAGE_COMPLETE event");
+
+               ((bt_map_client_push_message_cb)bt_event_slot_container[event_index].callback)(
+                       param->result,
+                       bt_event_slot_container[event_index].user_data);
+               break;
 
        case BLUETOOTH_EVENT_NETWORK_SERVER_CONNECTED:
                BT_INFO("BLUETOOTH_EVENT_NETWORK_SERVER_CONNECTED");
@@ -3099,11 +3101,8 @@ static int __bt_get_cb_index(int event)
                return BT_EVENT_MAP_CLIENT_LIST_MESSAGES;
        case BLUETOOTH_EVENT_MAP_GET_MESSAGE_COMPLETE:
                        return BT_EVENT_MAP_CLIENT_GET_MESSAGE;
-       /// TODO MAP place for your case 4
-       /// TODO MAP place for your case 5
-       /// TODO MAP place for your case 6
-       /// TODO MAP place for your case 7
-       /// TODO MAP place for your case 8
+       case BLUETOOTH_EVENT_MAP_PUSH_MESSAGE_COMPLETE:
+                       return BT_EVENT_MAP_CLIENT_PUSH_MESSAGE;
        case BLUETOOTH_EVENT_NETWORK_SERVER_CONNECTED:
        case BLUETOOTH_EVENT_NETWORK_SERVER_DISCONNECTED:
                return BT_EVENT_NAP_CONNECTION_STATE_CHANGED;
index 0e6518e92f45728a850130533ca6c2b61fc312d2..0f8c63b8538215bd71b998dd335084a963b1bda6 100644 (file)
@@ -291,10 +291,37 @@ int bt_map_client_push_message(
     const char* source_file,
     const char* folder,
     bt_map_client_push_message_args_h args,
-    bt_map_client_push_message_cb callback)
+    bt_map_client_push_message_cb callback,
+    void *user_data)
 {
-       /* TODO: MAP */
-       return BT_ERROR_NONE;
+    LOGE("Entered bt_map_client_get_message");
+
+       //BT_CHECK_MAP_CLIENT_SUPPORT();
+       BT_CHECK_INIT_STATUS();
+       BT_CHECK_MAP_CLIENT_INIT_STATUS();
+       BT_CHECK_INPUT_PARAMETER(handle);
+       BT_CHECK_INPUT_PARAMETER(source_file);
+       BT_CHECK_INPUT_PARAMETER(folder);
+       BT_CHECK_INPUT_PARAMETER(args);
+
+       bt_map_client_session_info_s* session = (bt_map_client_session_info_s*)handle;
+
+       int error_code = _bt_get_error_code(
+               bluetooth_map_client_push_message(
+                       session,
+                       source_file,
+                       folder,
+                       (bt_map_client_push_message_args_t*) args
+               )
+       );
+       if (error_code != BT_ERROR_NONE) {
+               BT_ERR("bluetooth_map_client_push_message %s(0x%08x)",
+                       _bt_convert_error_to_string(error_code), error_code);
+       } else {
+               _bt_set_cb(BT_EVENT_MAP_CLIENT_PUSH_MESSAGE, callback, user_data);
+       }
+
+       return error_code;
 }
 
 int bt_map_client_get_message(
@@ -369,3 +396,19 @@ void bt_map_client_list_messages_filter_destroy(
        free(*filter);
        *filter = NULL;
 }
+
+void bt_map_client_push_message_args_create(
+    bt_map_client_push_message_args_h *args)
+{
+       (*args) = malloc(sizeof(bt_map_client_push_message_args_s));
+       (*args)->is_transparent = -1;
+       (*args)->is_retry = -1;
+       (*args)->charset =  NULL;
+}
+
+void bt_map_client_push_message_args_destroy(
+    bt_map_client_push_message_args_h *args)
+{
+       free(*args);
+       *args = NULL;
+}