1 /*
2  * Copyright (C) 2021 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 /**
17  * @file att_receive.h
18  *
19  * @brief declare receive function to be called.
20  *
21  */
22 
23 #ifndef ATT_RECEIVE_H
24 #define ATT_RECEIVE_H
25 
26 #include "att_common.h"
27 
28 #include <stdint.h>
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 /**
35  * @brief received error response.
36  *
37  * @param1 connect Indicates the AttConnectInfo.
38  * @param2 buffer Indicates the pointer to Buffer.
39  */
40 void AttErrorResponse(AttConnectInfo *connect, const Buffer *buffer);
41 
42 /**
43  * @brief received exchangeMTU request.
44  *
45  * @param1 connect Indicates the AttConnectInfo.
46  * @param2 buffer Indicates the pointer to Buffer.
47  */
48 void AttExchangeMTURequest(AttConnectInfo *connect, const Buffer *buffer);
49 
50 /**
51  * @brief received exchangeMTU response.
52  *
53  * @param1 connect Indicates the AttConnectInfo.
54  * @param2 buffer Indicates the pointer to Buffer.
55  */
56 void AttExchangeMTUResponse(AttConnectInfo *connect, const Buffer *buffer);
57 
58 /**
59  * @brief received findinformation request.
60  *
61  * @param1 connect Indicates the AttConnectInfo.
62  * @param2 buffer Indicates the pointer to Buffer.
63  */
64 void AttFindInformationRequest(AttConnectInfo *connect, const Buffer *buffer);
65 
66 /**
67  * @brief received findinformation response.
68  *
69  * @param1 connect Indicates the AttConnectInfo.
70  * @param2 buffer Indicates the pointer to Buffer.
71  */
72 void AttFindInformationResponse(AttConnectInfo *connect, const Buffer *buffer);
73 
74 /**
75  * @brief received findbytypevalue request.
76  *
77  * @param1 connect Indicates the AttConnectInfo.
78  * @param2 buffer Indicates the pointer to Buffer.
79  */
80 void AttFindByTypeValueRequest(AttConnectInfo *connect, const Buffer *buffer);
81 
82 /**
83  * @brief received findbytypevalue response.
84  *
85  * @param1 connect Indicates the AttConnectInfo.
86  * @param2 buffer Indicates the pointer to Buffer.
87  */
88 void AttFindByTypeValueResponse(AttConnectInfo *connect, const Buffer *buffer);
89 
90 /**
91  * @brief received readbytype request.
92  *
93  * @param1 connect Indicates the AttConnectInfo.
94  * @param2 buffer Indicates the pointer to Buffer.
95  */
96 void AttReadByTypeRequest(AttConnectInfo *connect, const Buffer *buffer);
97 
98 /**
99  * @brief received readbytype response.
100  *
101  * @param1 connect Indicates the AttConnectInfo.
102  * @param2 buffer Indicates the pointer to Buffer.
103  */
104 void AttReadByTypeResponse(AttConnectInfo *connect, const Buffer *buffer);
105 
106 /**
107  * @brief received read request.
108  *
109  * @param1 connect Indicates the AttConnectInfo.
110  * @param2 buffer Indicates the pointer to Buffer.
111  */
112 void AttReadRequest(AttConnectInfo *connect, const Buffer *buffer);
113 
114 /**
115  * @brief received read response.
116  *
117  * @param1 connect Indicates the AttConnectInfo.
118  * @param2 buffer Indicates the pointer to Buffer.
119  */
120 void AttReadResponse(AttConnectInfo *connect, const Buffer *buffer);
121 
122 /**
123  * @brief received readblob request.
124  *
125  * @param1 connect Indicates the AttConnectInfo.
126  * @param2 buffer Indicates the pointer to Buffer.
127  */
128 void AttReadBlobRequest(AttConnectInfo *connect, const Buffer *buffer);
129 
130 /**
131  * @brief received readblob response.
132  *
133  * @param1 connect Indicates the AttConnectInfo.
134  * @param2 buffer Indicates the pointer to Buffer.
135  */
136 void AttReadBlobResponse(AttConnectInfo *connect, const Buffer *buffer);
137 
138 /**
139  * @brief received readmultiple request.
140  *
141  * @param1 connect Indicates the AttConnectInfo.
142  * @param2 buffer Indicates the pointer to Buffer.
143  */
144 void AttReadMultipleRequest(AttConnectInfo *connect, const Buffer *buffer);
145 
146 /**
147  * @brief received readmultiple response.
148  *
149  * @param1 connect Indicates the AttConnectInfo.
150  * @param2 buffer Indicates the pointer to Buffer.
151  */
152 void AttReadMultipleResponse(AttConnectInfo *connect, const Buffer *buffer);
153 
154 /**
155  * @brief received readbygrouptype request.
156  *
157  * @param1 connect Indicates the AttConnectInfo.
158  * @param2 buffer Indicates the pointer to Buffer.
159  */
160 void AttReadByGroupTypeRequest(AttConnectInfo *connect, const Buffer *buffer);
161 
162 /**
163  * @brief received readbygrouptype response.
164  *
165  * @param1 connect Indicates the AttConnectInfo.
166  * @param2 buffer Indicates the pointer to Buffer.
167  */
168 void AttReadByGroupTypeResponse(AttConnectInfo *connect, const Buffer *buffer);
169 
170 /**
171  * @brief received write request.
172  *
173  * @param1 connect Indicates the AttConnectInfo.
174  * @param2 buffer Indicates the pointer to Buffer.
175  */
176 void AttWriteRequest(AttConnectInfo *connect, const Buffer *buffer);
177 
178 /**
179  * @brief received write response.
180  *
181  * @param1 connect Indicates the AttConnectInfo.
182  * @param2 buffer Indicates the pointer to Buffer.
183  */
184 void AttWriteResponse(AttConnectInfo *connect, const Buffer *buffer);
185 
186 /**
187  * @brief received write command.
188  *
189  * @param1 connect Indicates the AttConnectInfo.
190  * @param2 buffer Indicates the pointer to Buffer.
191  */
192 void AttWriteCommand(AttConnectInfo *connect, const Buffer *buffer);
193 
194 /**
195  * @brief received signedwrite command.
196  *
197  * @param1 connect Indicates the AttConnectInfo.
198  * @param2 buffer Indicates the pointer to Buffer.
199  */
200 void AttSignedWriteCommand(AttConnectInfo *connect, const Buffer *buffer);
201 
202 /**
203  * @brief received preparewrite request.
204  *
205  * @param1 connect Indicates the AttConnectInfo.
206  * @param2 buffer Indicates the pointer to Buffer.
207  */
208 void AttPrepareWriteRequest(AttConnectInfo *connect, const Buffer *buffer);
209 
210 /**
211  * @brief received preparewrite response.
212  *
213  * @param1 connect Indicates the AttConnectInfo.
214  * @param2 buffer Indicates the pointer to Buffer.
215  */
216 void AttPrepareWriteResponse(AttConnectInfo *connect, const Buffer *buffer);
217 
218 /**
219  * @brief received executewrite request.
220  *
221  * @param1 connect Indicates the AttConnectInfo.
222  * @param2 buffer Indicates the pointer to Buffer.
223  */
224 void AttExecuteWriteRequest(AttConnectInfo *connect, const Buffer *buffer);
225 
226 /**
227  * @brief received executewrite response.
228  *
229  * @param1 connect Indicates the AttConnectInfo.
230  * @param2 buffer Indicates the pointer to Buffer.
231  */
232 void AttExecuteWriteResponse(AttConnectInfo *connect, const Buffer *buffer);
233 
234 /**
235  * @brief received handlevalue notification.
236  *
237  * @param1 connect Indicates the AttConnectInfo.
238  * @param2 buffer Indicates the pointer to Buffer.
239  */
240 void AttHandleValueNotification(AttConnectInfo *connect, const Buffer *buffer);
241 
242 /**
243  * @brief received handlevalue indication.
244  *
245  * @param1 connect Indicates the AttConnectInfo.
246  * @param2 buffer Indicates the pointer to Buffer.
247  */
248 void AttHandleValueIndication(AttConnectInfo *connect, const Buffer *buffer);
249 
250 /**
251  * @brief received handlevalue confirmation.
252  *
253  * @param1 connect Indicates the AttConnectInfo.
254  * @param2 buffer Indicates the pointer to Buffer.
255  */
256 void AttHandleValueConfirmation(AttConnectInfo *connect, const Buffer *buffer);
257 
258 /**
259  * @brief initialize recv data function.
260  *
261  */
262 void FunctionListInit();
263 
264 #ifdef __cplusplus
265 }
266 #endif
267 
268 #endif  // ATT_RECEIVE_H
269