@@ -69,23 +69,22 @@ struct AdvertisingReportEvent {
69
69
const address_t &directAddress,
70
70
const mbed::Span<const uint8_t > &advertisingData
71
71
) :
72
+ peerAddress(peerAddress),
72
73
type(type),
73
74
peerAddressType(peerAddressType),
74
- peerAddress(peerAddress),
75
75
primaryPhy(primaryPhy),
76
76
secondaryPhy(secondaryPhy),
77
77
SID(SID),
78
78
txPower(txPower),
79
- rssi(rssi),
80
79
periodicInterval(periodicInterval),
80
+ rssi(rssi),
81
81
directAddressType(directAddressType),
82
82
directAddress(directAddress),
83
83
advertisingData(advertisingData)
84
84
{
85
85
}
86
86
87
87
#endif
88
-
89
88
/* * Get event type. */
90
89
const advertising_event_t &getType () const
91
90
{
@@ -163,18 +162,44 @@ struct AdvertisingReportEvent {
163
162
return advertisingData;
164
163
}
165
164
165
+ /* * Set peer address. */
166
+ void setPeerAddress (
167
+ const address_t &newPeerAddress
168
+ )
169
+ {
170
+ peerAddress = newPeerAddress;
171
+ }
172
+
173
+
174
+ /* * Set peer address type. */
175
+ void setPeerAddressType (
176
+ const peer_address_type_t &newPeerAddressType
177
+ )
178
+ {
179
+ peerAddressType = newPeerAddressType;
180
+ }
181
+
182
+ /* * Set new advertising payload. */
183
+ void setAdvertisingData (
184
+ const mbed::Span<const uint8_t > &newAdvertisingData
185
+ )
186
+ {
187
+ advertisingData = newAdvertisingData;
188
+ }
189
+
166
190
private:
191
+ address_t peerAddress;
167
192
advertising_event_t type;
168
193
peer_address_type_t peerAddressType;
169
- address_t const &peerAddress;
170
194
phy_t primaryPhy;
171
195
phy_t secondaryPhy;
172
196
advertising_sid_t SID;
173
197
advertising_power_t txPower;
174
- rssi_t rssi;
175
198
uint16_t periodicInterval;
199
+ rssi_t rssi;
176
200
peer_address_type_t directAddressType;
177
- const address_t &directAddress;
201
+ address_t directAddress;
202
+ ble_error_t status;
178
203
mbed::Span<const uint8_t > advertisingData;
179
204
};
180
205
@@ -215,12 +240,12 @@ struct ConnectionCompleteEvent {
215
240
) :
216
241
status(status),
217
242
connectionHandle(connectionHandle),
243
+ peerAddress(peerAddress),
218
244
ownRole(ownRole),
219
245
peerAddressType(peerAddressType),
220
- peerAddress(peerAddress),
221
246
localResolvablePrivateAddress(localResolvablePrivateAddress),
222
- peerResolvablePrivateAddress(peerResolvablePrivateAddress),
223
247
connectionInterval(connectionInterval),
248
+ peerResolvablePrivateAddress(peerResolvablePrivateAddress),
224
249
connectionLatency(connectionLatency),
225
250
supervisionTimeout(supervisionTimeout),
226
251
masterClockAccuracy(masterClockAccuracy)
@@ -295,15 +320,46 @@ struct ConnectionCompleteEvent {
295
320
return masterClockAccuracy;
296
321
}
297
322
323
+
324
+ /* * Set connection complete event status. */
325
+ void setStatus (ble_error_t new_status)
326
+ {
327
+ status = new_status;
328
+ }
329
+
330
+ /* * Set peer address type. */
331
+ void setPeerAddressType (const peer_address_type_t & address_type)
332
+ {
333
+ peerAddressType = address_type;
334
+ }
335
+
336
+ /* * Set peer address. */
337
+ void setPeerAddress (const address_t &address)
338
+ {
339
+ peerAddress = address;
340
+ }
341
+
342
+ /* * Set get local resolvable random address if privacy is used. */
343
+ void setLocalResolvablePrivateAddress (const address_t &address)
344
+ {
345
+ localResolvablePrivateAddress = address;
346
+ }
347
+
348
+ /* * Set peer resolvable private address if privacy is used. */
349
+ void setPeerResolvablePrivateAddress (const address_t &address)
350
+ {
351
+ peerResolvablePrivateAddress = address;
352
+ }
353
+
298
354
private:
299
355
ble_error_t status;
300
356
connection_handle_t connectionHandle;
357
+ address_t peerAddress;
301
358
connection_role_t ownRole;
302
359
peer_address_type_t peerAddressType;
303
- const address_t &peerAddress;
304
- const address_t &localResolvablePrivateAddress;
305
- const address_t &peerResolvablePrivateAddress;
360
+ address_t localResolvablePrivateAddress;
306
361
conn_interval_t connectionInterval;
362
+ address_t peerResolvablePrivateAddress;
307
363
slave_latency_t connectionLatency;
308
364
supervision_timeout_t supervisionTimeout;
309
365
uint16_t masterClockAccuracy;
0 commit comments