LCOV - code coverage report
Current view: top level - zephyr/bluetooth/mesh - od_priv_proxy_cli.h Hit Total Coverage
Test: new.info Lines: 7 9 77.8 %
Date: 2024-12-22 00:14:23

          Line data    Source code
       1           0 : /*
       2             :  * Copyright (c) 2022 Nordic Semiconductor ASA
       3             :  *
       4             :  * SPDX-License-Identifier: Apache-2.0
       5             :  */
       6             : 
       7             : #ifndef BT_MESH_OD_PRIV_PROXY_CLI_H__
       8             : #define BT_MESH_OD_PRIV_PROXY_CLI_H__
       9             : 
      10             : #include <zephyr/bluetooth/mesh.h>
      11             : 
      12             : #ifdef __cplusplus
      13             : extern "C" {
      14             : #endif
      15             : 
      16             : /**
      17             :  * @defgroup bt_mesh_od_priv_proxy_cli Bluetooth Mesh On-Demand Private GATT Proxy Client
      18             :  * @ingroup bt_mesh
      19             :  * @{
      20             :  */
      21             : 
      22             : /** On-Demand Private Proxy Client Model Context */
      23           1 : struct bt_mesh_od_priv_proxy_cli {
      24             :         /** Solicitation PDU RPL model entry pointer. */
      25           1 :         const struct bt_mesh_model *model;
      26             : 
      27             :         /* Internal parameters for tracking message responses. */
      28           0 :         struct bt_mesh_msg_ack_ctx ack_ctx;
      29             : 
      30             :         /** @brief Optional callback for On-Demand Private Proxy Status messages.
      31             :          *
      32             :          *  Handles received On-Demand Private Proxy Status messages from a On-Demand Private Proxy
      33             :          *  server.The @c state param represents state of On-Demand Private Proxy server.
      34             :          *
      35             :          *  @param cli         On-Demand Private Proxy client that received the status message.
      36             :          *  @param addr        Address of the sender.
      37             :          *  @param state       State value.
      38             :          */
      39           1 :         void (*od_status)(struct bt_mesh_od_priv_proxy_cli *cli, uint16_t addr, uint8_t state);
      40             : };
      41             : 
      42             : /**
      43             :  *  @brief On-Demand Private Proxy Client model composition data entry.
      44             :  */
      45           1 : #define BT_MESH_MODEL_OD_PRIV_PROXY_CLI(cli_data)                                  \
      46             :         BT_MESH_MODEL_CB(BT_MESH_MODEL_ID_ON_DEMAND_PROXY_CLI,                     \
      47             :                          _bt_mesh_od_priv_proxy_cli_op, NULL, cli_data,            \
      48             :                          &_bt_mesh_od_priv_proxy_cli_cb)
      49             : 
      50             : /** @brief Get the target's On-Demand Private GATT Proxy state.
      51             :  *
      52             :  *  This method can be used asynchronously by setting @p val_rsp as NULL.
      53             :  *  This way the method will not wait for response and will
      54             :  *  return immediately after sending the command.
      55             :  *
      56             :  *  To process the response arguments of an async method, register
      57             :  *  the @c od_status callback in @c bt_mesh_od_priv_proxy_cli struct.
      58             :  *
      59             :  *  @param net_idx    Network index to encrypt with.
      60             :  *  @param addr       Target node address.
      61             :  *  @param val_rsp    Response buffer for On-Demand Private GATT Proxy value.
      62             :  *
      63             :  *  @return 0 on success, or (negative) error code otherwise.
      64             :  */
      65           1 : int bt_mesh_od_priv_proxy_cli_get(uint16_t net_idx, uint16_t addr, uint8_t *val_rsp);
      66             : 
      67             : /** @brief Set the target's On-Demand Private GATT Proxy state.
      68             :  *
      69             :  *  This method can be used asynchronously by setting @p val_rsp as NULL.
      70             :  *  This way the method will not wait for response and will
      71             :  *  return immediately after sending the command.
      72             :  *
      73             :  *  To process the response arguments of an async method, register
      74             :  *  the @c od_status callback in @c bt_mesh_od_priv_proxy_cli struct.
      75             :  *
      76             :  *  @param net_idx    Network index to encrypt with.
      77             :  *  @param addr       Target node address.
      78             :  *  @param val        On-Demand Private GATT Proxy state to be set
      79             :  *  @param val_rsp    Response buffer for On-Demand Private GATT Proxy value.
      80             :  *
      81             :  *  @return 0 on success, or (negative) error code otherwise.
      82             :  */
      83           1 : int bt_mesh_od_priv_proxy_cli_set(uint16_t net_idx, uint16_t addr, uint8_t val, uint8_t *val_rsp);
      84             : 
      85             : /** @brief Set the transmission timeout value.
      86             :  *
      87             :  *  @param timeout The new transmission timeout in milliseconds.
      88             :  */
      89           1 : void bt_mesh_od_priv_proxy_cli_timeout_set(int32_t timeout);
      90             : 
      91             : /** @cond INTERNAL_HIDDEN */
      92             : extern const struct bt_mesh_model_op _bt_mesh_od_priv_proxy_cli_op[];
      93             : extern const struct bt_mesh_model_cb _bt_mesh_od_priv_proxy_cli_cb;
      94             : /** @endcond */
      95             : 
      96             : /** @} */
      97             : 
      98             : #ifdef __cplusplus
      99             : }
     100             : #endif
     101             : 
     102             : #endif /* BT_MESH_OD_PRIV_PROXY_CLI_H__ */

Generated by: LCOV version 1.14