All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
To: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com>
Cc: linux-bluetooth <linux-bluetooth@vger.kernel.org>
Subject: Re: [PATCH 15/15] android/health: Add health.c|h file with basic calls
Date: Wed, 12 Mar 2014 19:37:46 +0200	[thread overview]
Message-ID: <53209B6A.8030403@linux.intel.com> (raw)
In-Reply-To: <CAMv5Gbf16uUaLpYVPq_5J_6d93-PXXUEsKXRvCHuyLfODE4nuA@mail.gmail.com>

Hi,

On 03/12/2014 05:18 PM, Grzegorz Kolodziejczyk wrote:
> On 12 March 2014 16:10, Ravi kumar Veeramally
> <ravikumar.veeramally@linux.intel.com> wrote:
>> Add health.c|h with basic calls for register and unregister profile.
>> ---
>>   android/Android.mk  |   1 +
>>   android/Makefile.am |   1 +
>>   android/health.c    | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>>   android/health.h    |  25 ++++++++++++
>>   android/main.c      |  10 +++++
>>   5 files changed, 152 insertions(+)
>>   create mode 100644 android/health.c
>>   create mode 100644 android/health.h
>>
>> diff --git a/android/Android.mk b/android/Android.mk
>> index 0352beb..34e21ea 100644
>> --- a/android/Android.mk
>> +++ b/android/Android.mk
>> @@ -43,6 +43,7 @@ LOCAL_SRC_FILES := \
>>          bluez/android/pan.c \
>>          bluez/android/handsfree.c \
>>          bluez/android/gatt.c \
>> +       bluez/android/health.c \
>>          bluez/src/log.c \
>>          bluez/src/shared/mgmt.c \
>>          bluez/src/shared/util.c \
>> diff --git a/android/Makefile.am b/android/Makefile.am
>> index d2cfed6..adfb14c 100644
>> --- a/android/Makefile.am
>> +++ b/android/Makefile.am
>> @@ -41,6 +41,7 @@ android_bluetoothd_SOURCES = android/main.c \
>>                                  android/pan.h android/pan.c \
>>                                  android/handsfree.h android/handsfree.c \
>>                                  android/gatt.h android/gatt.c \
>> +                               android/health.h android/health.c \
>>                                  btio/btio.h btio/btio.c \
>>                                  src/sdp-client.h src/sdp-client.c \
>>                                  profiles/network/bnep.h profiles/network/bnep.c
>> diff --git a/android/health.c b/android/health.c
>> new file mode 100644
>> index 0000000..6359b11
>> --- /dev/null
>> +++ b/android/health.c
>> @@ -0,0 +1,115 @@
>> +/*
>> + *
>> + *  BlueZ - Bluetooth protocol stack for Linux
>> + *
>> + *  Copyright (C) 2013-2014  Intel Corporation. All rights reserved.
>> + *
>> + *
>> + *  This library is free software; you can redistribute it and/or
>> + *  modify it under the terms of the GNU Lesser General Public
>> + *  License as published by the Free Software Foundation; either
>> + *  version 2.1 of the License, or (at your option) any later version.
>> + *
>> + *  This library is distributed in the hope that it will be useful,
>> + *  but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>> + *  Lesser General Public License for more details.
>> + *
>> + *  You should have received a copy of the GNU Lesser General Public
>> + *  License along with this library; if not, write to the Free Software
>> + *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
>> + *
>> + */
>> +
>> +#ifdef HAVE_CONFIG_H
>> +#include <config.h>
>> +#endif
>> +
>> +#include <stdint.h>
>> +#include <stdbool.h>
>> +#include <errno.h>
>> +#include <unistd.h>
>> +#include <glib.h>
>> +
>> +#include "lib/bluetooth.h"
>> +#include "lib/sdp.h"
>> +#include "lib/sdp_lib.h"
>> +#include "src/log.h"
>> +
>> +#include "hal-msg.h"
>> +#include "ipc-common.h"
>> +#include "ipc.h"
>> +#include "utils.h"
>> +#include "bluetooth.h"
>> +#include "health.h"
>> +
>> +static bdaddr_t adapter_addr;
>> +static struct ipc *hal_ipc = NULL;
>> +
>> +static void bt_health_register_app(const void *buf, uint16_t len)
>> +{
>> +       DBG("Not implemented");
>> +
>> +       ipc_send_rsp(hal_ipc, HAL_SERVICE_ID_HEALTH, HAL_OP_HEALTH_REG_APP,
>> +                                                       HAL_STATUS_UNSUPPORTED);
>> +}
>> +
>> +static void bt_health_unregister_app(const void *buf, uint16_t len)
>> +{
>> +       DBG("Not implemented");
>> +
>> +       ipc_send_rsp(hal_ipc, HAL_SERVICE_ID_HEALTH, HAL_OP_HEALTH_UNREG_APP,
>> +                                                       HAL_STATUS_UNSUPPORTED);
>> +}
>> +
>> +static void bt_health_connect_channel(const void *buf, uint16_t len)
>> +{
>> +       DBG("Not implemented");
>> +
>> +       ipc_send_rsp(hal_ipc, HAL_SERVICE_ID_HEALTH,
>> +                       HAL_OP_HEALTH_CONNECT_CHANNEL, HAL_STATUS_UNSUPPORTED);
>> +}
>> +
>> +static void bt_health_destroy_channel(const void *buf, uint16_t len)
>> +{
>> +       DBG("Not implemented");
>> +
>> +       ipc_send_rsp(hal_ipc, HAL_SERVICE_ID_HEALTH,
>> +                       HAL_OP_HEALTH_DESTROY_CHANNEL, HAL_STATUS_UNSUPPORTED);
>> +}
>> +
>> +static const struct ipc_handler cmd_handlers[] = {
>> +       /* HAL_OP_HEALTH_REG_APP */
>> +       { bt_health_register_app, false,
>> +                               sizeof(struct hal_cmd_health_reg_app) },
>> +       /* HAL_OP_HEALTH_UNREG_APP */
>> +       { bt_health_unregister_app, false,
>> +                               sizeof(struct hal_cmd_health_unreg_app) },
>> +       /* HAL_OP_HEALTH_CONNECT_CHANNEL */
>> +       { bt_health_connect_channel, false,
>> +                               sizeof(struct hal_cmd_health_connect_channel) },
>> +       /* HAL_OP_HEALTH_DESTROY_CHANNEL */
>> +       { bt_health_destroy_channel, false,
>> +                               sizeof(struct hal_cmd_health_destroy_channel) },
>> +};
>> +
>> +bool bt_health_register(struct ipc *ipc, const bdaddr_t *addr, uint8_t mode)
>> +{
>> +       DBG("");
>> +
>> +       bacpy(&adapter_addr, addr);
>> +
>> +       hal_ipc = ipc;
>> +       ipc_register(hal_ipc, HAL_SERVICE_ID_HEALTH, cmd_handlers,
>> +                                               G_N_ELEMENTS(cmd_handlers));
>> +
>> +       return true;
>> +}
>> +
>> +void bt_health_unregister(void)
>> +{
>> +       DBG("");
>> +
>> +       ipc_unregister(hal_ipc, HAL_SERVICE_ID_HEALTH);
>> +       hal_ipc = NULL;
>> +}
>> diff --git a/android/health.h b/android/health.h
>> new file mode 100644
>> index 0000000..38a58c0
>> --- /dev/null
>> +++ b/android/health.h
>> @@ -0,0 +1,25 @@
>> +/*
>> + *
>> + *  BlueZ - Bluetooth protocol stack for Linux
>> + *
>> + *  Copyright (C) 2013-2014  Intel Corporation. All rights reserved.
>> + *
>> + *
>> + *  This library is free software; you can redistribute it and/or
>> + *  modify it under the terms of the GNU Lesser General Public
>> + *  License as published by the Free Software Foundation; either
>> + *  version 2.1 of the License, or (at your option) any later version.
>> + *
>> + *  This library is distributed in the hope that it will be useful,
>> + *  but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>> + *  Lesser General Public License for more details.
>> + *
>> + *  You should have received a copy of the GNU Lesser General Public
>> + *  License along with this library; if not, write to the Free Software
>> + *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
>> + *
>> + */
>> +
>> +bool bt_health_register(struct ipc *ipc, const bdaddr_t *addr, uint8_t mode);
>> +void bt_health_unregister(void);
>> diff --git a/android/main.c b/android/main.c
>> index a34f885..9423619 100644
>> --- a/android/main.c
>> +++ b/android/main.c
>> @@ -59,6 +59,7 @@
>>   #include "avrcp.h"
>>   #include "handsfree.h"
>>   #include "gatt.h"
>> +#include "health.h"
>>
>>   #define STARTUP_GRACE_SECONDS 5
>>   #define SHUTDOWN_GRACE_SECONDS 10
>> @@ -133,6 +134,12 @@ static void service_register(const void *buf, uint16_t len)
>>                          goto failed;
>>                  }
> Missing brake here.
   Ok, I will fix it.

  Thanks,
  Ravi.

>> +       case HAL_SERVICE_ID_HEALTH:
>> +               if (!bt_health_register(hal_ipc, &adapter_bdaddr, m->mode)) {
>> +                       status = HAL_STATUS_FAILED;
>> +                       goto failed;
>> +               }
>> +
>>                  break;
>>          default:
>>                  DBG("service %u not supported", m->service_id);
>> @@ -186,6 +193,9 @@ static void service_unregister(const void *buf, uint16_t len)
>>          case HAL_SERVICE_ID_GATT:
>>                  bt_gatt_unregister();
>>                  break;
>> +       case HAL_SERVICE_ID_HEALTH:
>> +               bt_health_unregister();
>> +               break;
>>          default:
>>                  /* This would indicate bug in HAL, as unregister should not be
>>                   * called in init failed */
>> --
>> 1.8.3.2
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Best regards,
> Grzegorz Kolodziejczyk
>
> On 12 March 2014 16:10, Ravi kumar Veeramally
> <ravikumar.veeramally@linux.intel.com> wrote:
>> Add health.c|h with basic calls for register and unregister profile.
>> ---
>>   android/Android.mk  |   1 +
>>   android/Makefile.am |   1 +
>>   android/health.c    | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>>   android/health.h    |  25 ++++++++++++
>>   android/main.c      |  10 +++++
>>   5 files changed, 152 insertions(+)
>>   create mode 100644 android/health.c
>>   create mode 100644 android/health.h
>>
>> diff --git a/android/Android.mk b/android/Android.mk
>> index 0352beb..34e21ea 100644
>> --- a/android/Android.mk
>> +++ b/android/Android.mk
>> @@ -43,6 +43,7 @@ LOCAL_SRC_FILES := \
>>          bluez/android/pan.c \
>>          bluez/android/handsfree.c \
>>          bluez/android/gatt.c \
>> +       bluez/android/health.c \
>>          bluez/src/log.c \
>>          bluez/src/shared/mgmt.c \
>>          bluez/src/shared/util.c \
>> diff --git a/android/Makefile.am b/android/Makefile.am
>> index d2cfed6..adfb14c 100644
>> --- a/android/Makefile.am
>> +++ b/android/Makefile.am
>> @@ -41,6 +41,7 @@ android_bluetoothd_SOURCES = android/main.c \
>>                                  android/pan.h android/pan.c \
>>                                  android/handsfree.h android/handsfree.c \
>>                                  android/gatt.h android/gatt.c \
>> +                               android/health.h android/health.c \
>>                                  btio/btio.h btio/btio.c \
>>                                  src/sdp-client.h src/sdp-client.c \
>>                                  profiles/network/bnep.h profiles/network/bnep.c
>> diff --git a/android/health.c b/android/health.c
>> new file mode 100644
>> index 0000000..6359b11
>> --- /dev/null
>> +++ b/android/health.c
>> @@ -0,0 +1,115 @@
>> +/*
>> + *
>> + *  BlueZ - Bluetooth protocol stack for Linux
>> + *
>> + *  Copyright (C) 2013-2014  Intel Corporation. All rights reserved.
>> + *
>> + *
>> + *  This library is free software; you can redistribute it and/or
>> + *  modify it under the terms of the GNU Lesser General Public
>> + *  License as published by the Free Software Foundation; either
>> + *  version 2.1 of the License, or (at your option) any later version.
>> + *
>> + *  This library is distributed in the hope that it will be useful,
>> + *  but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>> + *  Lesser General Public License for more details.
>> + *
>> + *  You should have received a copy of the GNU Lesser General Public
>> + *  License along with this library; if not, write to the Free Software
>> + *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
>> + *
>> + */
>> +
>> +#ifdef HAVE_CONFIG_H
>> +#include <config.h>
>> +#endif
>> +
>> +#include <stdint.h>
>> +#include <stdbool.h>
>> +#include <errno.h>
>> +#include <unistd.h>
>> +#include <glib.h>
>> +
>> +#include "lib/bluetooth.h"
>> +#include "lib/sdp.h"
>> +#include "lib/sdp_lib.h"
>> +#include "src/log.h"
>> +
>> +#include "hal-msg.h"
>> +#include "ipc-common.h"
>> +#include "ipc.h"
>> +#include "utils.h"
>> +#include "bluetooth.h"
>> +#include "health.h"
>> +
>> +static bdaddr_t adapter_addr;
>> +static struct ipc *hal_ipc = NULL;
>> +
>> +static void bt_health_register_app(const void *buf, uint16_t len)
>> +{
>> +       DBG("Not implemented");
>> +
>> +       ipc_send_rsp(hal_ipc, HAL_SERVICE_ID_HEALTH, HAL_OP_HEALTH_REG_APP,
>> +                                                       HAL_STATUS_UNSUPPORTED);
>> +}
>> +
>> +static void bt_health_unregister_app(const void *buf, uint16_t len)
>> +{
>> +       DBG("Not implemented");
>> +
>> +       ipc_send_rsp(hal_ipc, HAL_SERVICE_ID_HEALTH, HAL_OP_HEALTH_UNREG_APP,
>> +                                                       HAL_STATUS_UNSUPPORTED);
>> +}
>> +
>> +static void bt_health_connect_channel(const void *buf, uint16_t len)
>> +{
>> +       DBG("Not implemented");
>> +
>> +       ipc_send_rsp(hal_ipc, HAL_SERVICE_ID_HEALTH,
>> +                       HAL_OP_HEALTH_CONNECT_CHANNEL, HAL_STATUS_UNSUPPORTED);
>> +}
>> +
>> +static void bt_health_destroy_channel(const void *buf, uint16_t len)
>> +{
>> +       DBG("Not implemented");
>> +
>> +       ipc_send_rsp(hal_ipc, HAL_SERVICE_ID_HEALTH,
>> +                       HAL_OP_HEALTH_DESTROY_CHANNEL, HAL_STATUS_UNSUPPORTED);
>> +}
>> +
>> +static const struct ipc_handler cmd_handlers[] = {
>> +       /* HAL_OP_HEALTH_REG_APP */
>> +       { bt_health_register_app, false,
>> +                               sizeof(struct hal_cmd_health_reg_app) },
>> +       /* HAL_OP_HEALTH_UNREG_APP */
>> +       { bt_health_unregister_app, false,
>> +                               sizeof(struct hal_cmd_health_unreg_app) },
>> +       /* HAL_OP_HEALTH_CONNECT_CHANNEL */
>> +       { bt_health_connect_channel, false,
>> +                               sizeof(struct hal_cmd_health_connect_channel) },
>> +       /* HAL_OP_HEALTH_DESTROY_CHANNEL */
>> +       { bt_health_destroy_channel, false,
>> +                               sizeof(struct hal_cmd_health_destroy_channel) },
>> +};
>> +
>> +bool bt_health_register(struct ipc *ipc, const bdaddr_t *addr, uint8_t mode)
>> +{
>> +       DBG("");
>> +
>> +       bacpy(&adapter_addr, addr);
>> +
>> +       hal_ipc = ipc;
>> +       ipc_register(hal_ipc, HAL_SERVICE_ID_HEALTH, cmd_handlers,
>> +                                               G_N_ELEMENTS(cmd_handlers));
>> +
>> +       return true;
>> +}
>> +
>> +void bt_health_unregister(void)
>> +{
>> +       DBG("");
>> +
>> +       ipc_unregister(hal_ipc, HAL_SERVICE_ID_HEALTH);
>> +       hal_ipc = NULL;
>> +}
>> diff --git a/android/health.h b/android/health.h
>> new file mode 100644
>> index 0000000..38a58c0
>> --- /dev/null
>> +++ b/android/health.h
>> @@ -0,0 +1,25 @@
>> +/*
>> + *
>> + *  BlueZ - Bluetooth protocol stack for Linux
>> + *
>> + *  Copyright (C) 2013-2014  Intel Corporation. All rights reserved.
>> + *
>> + *
>> + *  This library is free software; you can redistribute it and/or
>> + *  modify it under the terms of the GNU Lesser General Public
>> + *  License as published by the Free Software Foundation; either
>> + *  version 2.1 of the License, or (at your option) any later version.
>> + *
>> + *  This library is distributed in the hope that it will be useful,
>> + *  but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>> + *  Lesser General Public License for more details.
>> + *
>> + *  You should have received a copy of the GNU Lesser General Public
>> + *  License along with this library; if not, write to the Free Software
>> + *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
>> + *
>> + */
>> +
>> +bool bt_health_register(struct ipc *ipc, const bdaddr_t *addr, uint8_t mode);
>> +void bt_health_unregister(void);
>> diff --git a/android/main.c b/android/main.c
>> index a34f885..9423619 100644
>> --- a/android/main.c
>> +++ b/android/main.c
>> @@ -59,6 +59,7 @@
>>   #include "avrcp.h"
>>   #include "handsfree.h"
>>   #include "gatt.h"
>> +#include "health.h"
>>
>>   #define STARTUP_GRACE_SECONDS 5
>>   #define SHUTDOWN_GRACE_SECONDS 10
>> @@ -133,6 +134,12 @@ static void service_register(const void *buf, uint16_t len)
>>                          goto failed;
>>                  }
>>
>> +       case HAL_SERVICE_ID_HEALTH:
>> +               if (!bt_health_register(hal_ipc, &adapter_bdaddr, m->mode)) {
>> +                       status = HAL_STATUS_FAILED;
>> +                       goto failed;
>> +               }
>> +
>>                  break;
>>          default:
>>                  DBG("service %u not supported", m->service_id);
>> @@ -186,6 +193,9 @@ static void service_unregister(const void *buf, uint16_t len)
>>          case HAL_SERVICE_ID_GATT:
>>                  bt_gatt_unregister();
>>                  break;
>> +       case HAL_SERVICE_ID_HEALTH:
>> +               bt_health_unregister();
>> +               break;
>>          default:
>>                  /* This would indicate bug in HAL, as unregister should not be
>>                   * called in init failed */
>> --
>> 1.8.3.2
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html


      reply	other threads:[~2014-03-12 17:37 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-12 15:10 [PATCH 00/15] Add HDP profile support at HAL side Ravi kumar Veeramally
2014-03-12 15:10 ` [PATCH 01/15] android/hal-msg: Add HDP app registration struct Ravi kumar Veeramally
2014-03-12 15:39   ` Luiz Augusto von Dentz
2014-03-12 17:39     ` Ravi kumar Veeramally
2014-03-12 15:10 ` [PATCH 02/15] android/hal-msg: Add HDP app unregistration struct Ravi kumar Veeramally
2014-03-12 15:10 ` [PATCH 03/15] android/hal-msg: Add HDP connect channel struct Ravi kumar Veeramally
2014-03-12 15:10 ` [PATCH 04/15] android/hal-msg: Add HDP destroy " Ravi kumar Veeramally
2014-03-12 15:10 ` [PATCH 05/15] android/hal-msg: Add HDP app registration state event struct Ravi kumar Veeramally
2014-03-12 15:10 ` [PATCH 06/15] android/hal-msg: Add HDP app channel " Ravi kumar Veeramally
2014-03-12 15:57   ` Andrzej Kaczmarek
2014-03-12 17:36     ` Ravi kumar Veeramally
2014-03-12 15:10 ` [PATCH 07/15] android/hal-health: Add hal-health file Ravi kumar Veeramally
2014-03-12 19:53   ` Szymon Janc
2014-03-12 15:10 ` [PATCH 08/15] android/hal-health: Add HDP .init method Ravi kumar Veeramally
2014-03-12 19:56   ` Szymon Janc
2014-03-12 15:10 ` [PATCH 09/15] android/hal-health: Add HDP .cleanup method Ravi kumar Veeramally
2014-03-12 15:10 ` [PATCH 10/15] android/hal-health: Add HDP .register_application method Ravi kumar Veeramally
2014-03-12 15:10 ` [PATCH 11/15] android/hal-health: Add HDP .unregister_application method Ravi kumar Veeramally
2014-03-12 15:10 ` [PATCH 12/15] android/hal-health: Add HDP .connect_channel method Ravi kumar Veeramally
2014-03-12 20:05   ` Szymon Janc
2014-03-13  9:22     ` Ravi kumar Veeramally
2014-03-12 15:10 ` [PATCH 13/15] android/hal-health: Add HDP .destroy_channel method Ravi kumar Veeramally
2014-03-12 15:10 ` [PATCH 14/15] android/hal-health: Add app state and channel state event handlers Ravi kumar Veeramally
2014-03-12 15:10 ` [PATCH 15/15] android/health: Add health.c|h file with basic calls Ravi kumar Veeramally
2014-03-12 15:18   ` Grzegorz Kolodziejczyk
2014-03-12 17:37     ` Ravi kumar Veeramally [this message]

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=53209B6A.8030403@linux.intel.com \
    --to=ravikumar.veeramally@linux.intel.com \
    --cc=grzegorz.kolodziejczyk@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.