All of lore.kernel.org
 help / color / mirror / Atom feed
From: Szymon Janc <szymon.janc@tieto.com>
To: linux-bluetooth@vger.kernel.org
Cc: Szymon Janc <szymon.janc@tieto.com>
Subject: [PATCH 10/16] android/hal-gatt: Implement client handle_client_update_multi_adv
Date: Mon, 17 Nov 2014 23:28:02 +0100	[thread overview]
Message-ID: <1416263288-30530-10-git-send-email-szymon.janc@tieto.com> (raw)
In-Reply-To: <1416263288-30530-1-git-send-email-szymon.janc@tieto.com>

This adds required IPC message, HAL implementation and daemon stub
handler.
---
 android/gatt.c     | 16 ++++++++++++++++
 android/hal-gatt.c | 17 ++++++++++++++---
 android/hal-msg.h  | 11 +++++++++++
 3 files changed, 41 insertions(+), 3 deletions(-)

diff --git a/android/gatt.c b/android/gatt.c
index 6144a55..6d1f2c7 100644
--- a/android/gatt.c
+++ b/android/gatt.c
@@ -5649,6 +5649,19 @@ static void handle_client_setup_multi_adv(const void *buf, uint16_t len)
 					HAL_STATUS_UNSUPPORTED);
 }
 
+static void handle_client_update_multi_adv(const void *buf, uint16_t len)
+{
+	const struct hal_cmd_gatt_client_update_multi_adv *cmd = buf;
+
+	DBG("client_if %d", cmd->client_if);
+
+	/* TODO */
+
+	ipc_send_rsp(hal_ipc, HAL_SERVICE_ID_GATT,
+					HAL_OP_GATT_CLIENT_UPDATE_MULTI_ADV,
+					HAL_STATUS_UNSUPPORTED);
+}
+
 static const struct ipc_handler cmd_handlers[] = {
 	/* HAL_OP_GATT_CLIENT_REGISTER */
 	{ handle_client_register, false,
@@ -5779,6 +5792,9 @@ static const struct ipc_handler cmd_handlers[] = {
 	/* HAL_OP_GATT_CLIENT_SETUP_MULTI_ADV */
 	{ handle_client_setup_multi_adv, false,
 		sizeof(struct hal_cmd_gatt_client_setup_multi_adv) },
+	/* HAL_OP_GATT_CLIENT_UPDATE_MULTI_ADV */
+	{ handle_client_update_multi_adv, false,
+		sizeof(struct hal_cmd_gatt_client_update_multi_adv) },
 };
 
 static uint8_t read_by_group_type(const uint8_t *cmd, uint16_t cmd_len,
diff --git a/android/hal-gatt.c b/android/hal-gatt.c
index 2692e9c..0a1d823 100644
--- a/android/hal-gatt.c
+++ b/android/hal-gatt.c
@@ -1493,11 +1493,22 @@ static bt_status_t multi_adv_update(int client_if, int min_interval,
 					int chnl_map, int tx_power,
 					int timeout_s)
 {
-	DBG("");
+	struct hal_cmd_gatt_client_update_multi_adv cmd;
 
-	/* TODO */
+	if (!interface_ready())
+		return BT_STATUS_NOT_READY;
 
-	return BT_STATUS_UNSUPPORTED;
+	cmd.client_if = client_if;
+	cmd.min_interval = min_interval;
+	cmd.max_interval = max_interval;
+	cmd.type = adv_type;
+	cmd.channel_map = chnl_map;
+	cmd.tx_power = tx_power;
+	cmd.timeout = timeout_s;
+
+	return hal_ipc_cmd(HAL_SERVICE_ID_GATT,
+					HAL_OP_GATT_CLIENT_UPDATE_MULTI_ADV,
+					sizeof(cmd), &cmd, NULL, NULL, NULL);
 }
 
 static bt_status_t multi_adv_set_inst_data(int client_if, bool set_scan_rsp,
diff --git a/android/hal-msg.h b/android/hal-msg.h
index e59a322..096d610 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -1105,6 +1105,17 @@ struct hal_cmd_gatt_client_setup_multi_adv {
 	int32_t timeout;
 } __attribute__((packed));
 
+#define HAL_OP_GATT_CLIENT_UPDATE_MULTI_ADV		0x2c
+struct hal_cmd_gatt_client_update_multi_adv {
+	int32_t client_if;
+	int32_t min_interval;
+	int32_t max_interval;
+	int32_t type;
+	int32_t channel_map;
+	int32_t tx_power;
+	int32_t timeout;
+} __attribute__((packed));
+
 /* Handsfree client HAL API */
 
 #define HAL_OP_HF_CLIENT_CONNECT		0x01
-- 
1.9.3


  parent reply	other threads:[~2014-11-17 22:28 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-17 22:27 [PATCH 01/16] android/hal-gatt: Implement Android 5 callbacks Szymon Janc
2014-11-17 22:27 ` [PATCH 02/16] android/hal-gatt: Implement client scan_filter_param_setup Szymon Janc
2014-11-17 22:27 ` [PATCH 03/16] android/hal-gatt: Implement client scan_filter_add_remove Szymon Janc
2014-11-18 10:43   ` Lukasz Rymanowski
2014-11-17 22:27 ` [PATCH 04/16] android/hal-gatt: Implement client scan_filter_clear Szymon Janc
2014-11-17 22:27 ` [PATCH 05/16] android/hal-gatt: Implement client scan_filter_enable Szymon Janc
2014-11-17 22:27 ` [PATCH 06/16] android/hal-gatt: Implement client configure_mtu Szymon Janc
2014-11-17 22:27 ` [PATCH 07/16] android/hal-gatt: Implement client conn_parameter_update Szymon Janc
2014-11-17 22:28 ` [PATCH 08/16] android/hal-gatt: Implement client set_scan_parameters Szymon Janc
2014-11-17 22:28 ` [PATCH 09/16] android/hal-gatt: Implement client multi_adv_enable Szymon Janc
2014-11-17 22:28 ` Szymon Janc [this message]
2014-11-17 22:28 ` [PATCH 11/16] android/hal-gatt: Implement client multi_adv_set_inst_data Szymon Janc
2014-11-18 10:58   ` Lukasz Rymanowski
2014-11-17 22:28 ` [PATCH 12/16] android/hal-gatt: Implement client multi_adv_disable Szymon Janc
2014-11-17 22:28 ` [PATCH 13/16] android/hal-gatt: Implement client batchscan_cfg_storage Szymon Janc
2014-11-17 22:28 ` [PATCH 14/16] android/hal-gatt: Implement client batchscan_enb_batch_scan Szymon Janc
2014-11-17 22:28 ` [PATCH 15/16] android/hal-gatt: Implement client batchscan_dis_batch_scan Szymon Janc
2014-11-17 22:28 ` [PATCH 16/16] android/hal-gatt: Implement client batchscan_read_reports Szymon Janc
2014-11-19 12:14 ` [PATCH 01/16] android/hal-gatt: Implement Android 5 callbacks Szymon Janc

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1416263288-30530-10-git-send-email-szymon.janc@tieto.com \
    --to=szymon.janc@tieto.com \
    --cc=linux-bluetooth@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.