xref: /btstack/src/mesh/mesh_generic_default_transition_time_client.h (revision 2fca4dad957cd7b88f4657ed51e89c12615dda72)
185dc67fcSMilanka Ringwald /*
285dc67fcSMilanka Ringwald  * Copyright (C) 2019 BlueKitchen GmbH
385dc67fcSMilanka Ringwald  *
485dc67fcSMilanka Ringwald  * Redistribution and use in source and binary forms, with or without
585dc67fcSMilanka Ringwald  * modification, are permitted provided that the following conditions
685dc67fcSMilanka Ringwald  * are met:
785dc67fcSMilanka Ringwald  *
885dc67fcSMilanka Ringwald  * 1. Redistributions of source code must retain the above copyright
985dc67fcSMilanka Ringwald  *    notice, this list of conditions and the following disclaimer.
1085dc67fcSMilanka Ringwald  * 2. Redistributions in binary form must reproduce the above copyright
1185dc67fcSMilanka Ringwald  *    notice, this list of conditions and the following disclaimer in the
1285dc67fcSMilanka Ringwald  *    documentation and/or other materials provided with the distribution.
1385dc67fcSMilanka Ringwald  * 3. Neither the name of the copyright holders nor the names of
1485dc67fcSMilanka Ringwald  *    contributors may be used to endorse or promote products derived
1585dc67fcSMilanka Ringwald  *    from this software without specific prior written permission.
1685dc67fcSMilanka Ringwald  * 4. Any redistribution, use, or modification is done solely for
1785dc67fcSMilanka Ringwald  *    personal benefit and not for any commercial purpose or for
1885dc67fcSMilanka Ringwald  *    monetary gain.
1985dc67fcSMilanka Ringwald  *
2085dc67fcSMilanka Ringwald  * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS
2185dc67fcSMilanka Ringwald  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
2285dc67fcSMilanka Ringwald  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23*2fca4dadSMilanka Ringwald  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BLUEKITCHEN
24*2fca4dadSMilanka Ringwald  * GMBH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
2585dc67fcSMilanka Ringwald  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
2685dc67fcSMilanka Ringwald  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
2785dc67fcSMilanka Ringwald  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
2885dc67fcSMilanka Ringwald  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
2985dc67fcSMilanka Ringwald  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
3085dc67fcSMilanka Ringwald  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3185dc67fcSMilanka Ringwald  * SUCH DAMAGE.
3285dc67fcSMilanka Ringwald  *
3385dc67fcSMilanka Ringwald  * Please inquire about commercial licensing options at
3485dc67fcSMilanka Ringwald  * [email protected]
3585dc67fcSMilanka Ringwald  *
3685dc67fcSMilanka Ringwald  */
3785dc67fcSMilanka Ringwald 
3885dc67fcSMilanka Ringwald #ifndef __MESH_GENERIC_DEFAULT_TRANSITION_TIME_CLIENT_H
3985dc67fcSMilanka Ringwald #define __MESH_GENERIC_DEFAULT_TRANSITION_TIME_CLIENT_H
4085dc67fcSMilanka Ringwald 
4185dc67fcSMilanka Ringwald #include <stdint.h>
4285dc67fcSMilanka Ringwald 
4385dc67fcSMilanka Ringwald #include "mesh/mesh_access.h"
4485dc67fcSMilanka Ringwald 
4585dc67fcSMilanka Ringwald #ifdef __cplusplus
4685dc67fcSMilanka Ringwald extern "C"
4785dc67fcSMilanka Ringwald {
4885dc67fcSMilanka Ringwald #endif
4985dc67fcSMilanka Ringwald 
5085dc67fcSMilanka Ringwald const mesh_operation_t * mesh_generic_default_transition_time_client_get_operations(void);
5185dc67fcSMilanka Ringwald 
5285dc67fcSMilanka Ringwald /**
53f9202564SMilanka Ringwald  * @brief Register packet handler
54f9202564SMilanka Ringwald  * @param mesh_model
55f9202564SMilanka Ringwald  * @param transition_events_packet_handler
56f9202564SMilanka Ringwald  */
57f9202564SMilanka Ringwald void mesh_generic_default_transition_time_client_register_packet_handler(mesh_model_t *mesh_model, btstack_packet_handler_t transition_events_packet_handler);
58f9202564SMilanka Ringwald 
59f9202564SMilanka Ringwald /**
6085dc67fcSMilanka Ringwald  * @brief Set Default Transition Time value acknowledged
6185dc67fcSMilanka Ringwald  * @param mesh_model
6285dc67fcSMilanka Ringwald  * @param dest
6385dc67fcSMilanka Ringwald  * @param netkey_index
6485dc67fcSMilanka Ringwald  * @param appkey_index
6585dc67fcSMilanka Ringwald  * @param transition_time_gdtt
6685dc67fcSMilanka Ringwald  * @return status    0 if successful
6785dc67fcSMilanka Ringwald  */
6885dc67fcSMilanka Ringwald  uint8_t mesh_generic_default_transition_time_client_set(mesh_model_t * mesh_model, uint16_t dest, uint16_t netkey_index, uint16_t appkey_index,
6985dc67fcSMilanka Ringwald     uint8_t transition_time_gdtt);
7085dc67fcSMilanka Ringwald 
7185dc67fcSMilanka Ringwald /**
7285dc67fcSMilanka Ringwald  * @brief Set Default Transition Time value unacknowledged
7385dc67fcSMilanka Ringwald  * @param mesh_model
7485dc67fcSMilanka Ringwald  * @param dest
7585dc67fcSMilanka Ringwald  * @param netkey_index
7685dc67fcSMilanka Ringwald  * @param appkey_index
7785dc67fcSMilanka Ringwald  * @param on_off_value
7885dc67fcSMilanka Ringwald  * @param transition_time_gdtt
7985dc67fcSMilanka Ringwald  * @param delay_time_gdtt
8085dc67fcSMilanka Ringwald  * @return status    0 if successful
8185dc67fcSMilanka Ringwald  */
8285dc67fcSMilanka Ringwald uint8_t mesh_generic_default_transition_time_client_set_unacknowledged(mesh_model_t * mesh_model, uint16_t dest, uint16_t netkey_index, uint16_t appkey_index,
8385dc67fcSMilanka Ringwald     uint8_t transition_time_gdtt);
8485dc67fcSMilanka Ringwald 
8585dc67fcSMilanka Ringwald /**
8685dc67fcSMilanka Ringwald  * @brief  Get present Default Transition Time value
8785dc67fcSMilanka Ringwald  * @param mesh_model
8885dc67fcSMilanka Ringwald  * @param dest
8985dc67fcSMilanka Ringwald  * @param netkey_index
9085dc67fcSMilanka Ringwald  * @param appkey_index
9185dc67fcSMilanka Ringwald  * @return status    0 if successful
9285dc67fcSMilanka Ringwald  */
9385dc67fcSMilanka Ringwald uint8_t mesh_generic_default_transition_time_client_get(mesh_model_t *mesh_model, uint16_t dest, uint16_t netkey_index, uint16_t appkey_index);
9485dc67fcSMilanka Ringwald 
9585dc67fcSMilanka Ringwald 
9685dc67fcSMilanka Ringwald #ifdef __cplusplus
9785dc67fcSMilanka Ringwald } /* end of extern "C" */
9885dc67fcSMilanka Ringwald #endif
9985dc67fcSMilanka Ringwald 
10085dc67fcSMilanka Ringwald #endif
101