Imported Upstream version 1.1.0
[platform/upstream/iotivity.git] / resource / csdk / connectivity / src / bt_le_adapter / linux / server.h
1 /******************************************************************
2  *
3  * Copyright 2015 Intel Corporation All Rights Reserved.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  ******************************************************************/
18
19 #ifndef CA_BLE_LINUX_SERVER_H
20 #define CA_BLE_LINUX_SERVER_H
21
22 #include "cacommon.h"
23
24 #include <stdint.h>
25 #include <sys/types.h>
26
27
28 /**
29  * Send response/notification to the GATT client.
30  *
31  * Data will be sent to the client through the given response
32  * @a characteristic proxy as a GATT characteristic notification.
33  *
34  * @param[in] characteristic The D-Bus proxy for the response
35  *                           characteristic through which the
36  *                           notification will be sent.
37  * @param[in] data           The byte array to be sent.
38  * @param[in] length         The number of elements in the byte
39  *                           array.
40  *
41  * @return ::CA_STATUS_OK on success, ::CA_STATUS_FAILED otherwise.
42  */
43 CAResult_t CAGattServerSendResponseNotification(
44     char const * address,
45     uint8_t const * data,
46     size_t length);
47
48
49 /**
50  * Send notification to all connected GATT clients.
51  *
52  * Data will be sent to the client through the given response
53  * @a characteristic proxy as a GATT characteristic notification.
54  *
55  * @param[in] data    The byte array to be sent.
56  * @param[in] length  The number of elements in the byte array.
57  * @param[in] context Object containing mutexes and error reporting
58  *                    callback used on failure to send.
59  *
60  * @return ::CA_STATUS_OK on success, ::CA_STATUS_FAILED otherwise.
61  */
62 CAResult_t CAGattServerSendResponseNotificationToAll(
63     uint8_t const * data,
64     size_t length);
65
66
67 #endif  /* CA_BLE_LINUX_SERVER_H */