Skip to content

Commit 71b8d8a

Browse files
committed
BLE - devirtualize pal::AttClientToGattClientAdapter
1 parent 333a315 commit 71b8d8a

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

features/FEATURE_BLE/ble/pal/AttClientToGattClientAdapter.h

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ namespace pal {
2929
* This class let vendors define their abstraction layer in term of an AttClient
3030
* and adapt any AttClient into a GattClient.
3131
*/
32-
class AttClientToGattClientAdapter : public GattClient {
32+
template<class AttClient, class EventHandler>
33+
class AttClientToGattClientAdapter : public GattClient<AttClientToGattClientAdapter<AttClient, EventHandler>, EventHandler > {
3334

3435
public:
3536
static const uint16_t END_ATTRIBUTE_HANDLE = 0xFFFF;
@@ -42,7 +43,7 @@ class AttClientToGattClientAdapter : public GattClient {
4243
* @param client The client to adapt.
4344
*/
4445
AttClientToGattClientAdapter(AttClient& client) :
45-
GattClient(), _client(client) {
46+
_client(client) {
4647
_client.when_server_message_received(
4748
mbed::callback(this, &AttClientToGattClientAdapter::on_server_event)
4849
);
@@ -56,14 +57,14 @@ class AttClientToGattClientAdapter : public GattClient {
5657
/**
5758
* @see ble::pal::GattClient::exchange_mtu
5859
*/
59-
virtual ble_error_t exchange_mtu(connection_handle_t connection) {
60+
ble_error_t exchange_mtu_(connection_handle_t connection) {
6061
return _client.exchange_mtu_request(connection);
6162
}
6263

6364
/**
6465
* @see ble::pal::GattClient::get_mtu_size
6566
*/
66-
virtual ble_error_t get_mtu_size(
67+
ble_error_t get_mtu_size_(
6768
connection_handle_t connection_handle,
6869
uint16_t& mtu_size
6970
) {
@@ -73,7 +74,7 @@ class AttClientToGattClientAdapter : public GattClient {
7374
/**
7475
* @see ble::pal::GattClient::discover_primary_service
7576
*/
76-
virtual ble_error_t discover_primary_service(
77+
ble_error_t discover_primary_service_(
7778
connection_handle_t connection,
7879
attribute_handle_t discovery_range_begining
7980
) {
@@ -87,7 +88,7 @@ class AttClientToGattClientAdapter : public GattClient {
8788
/**
8889
* @see ble::pal::GattClient::discover_primary_service_by_service_uuid
8990
*/
90-
virtual ble_error_t discover_primary_service_by_service_uuid(
91+
ble_error_t discover_primary_service_by_service_uuid_(
9192
connection_handle_t connection_handle,
9293
attribute_handle_t discovery_range_begining,
9394
const UUID& uuid
@@ -106,7 +107,7 @@ class AttClientToGattClientAdapter : public GattClient {
106107
/**
107108
* @see ble::pal::GattClient::find_included_service
108109
*/
109-
virtual ble_error_t find_included_service(
110+
ble_error_t find_included_service_(
110111
connection_handle_t connection_handle,
111112
attribute_handle_range_t service_range
112113
) {
@@ -120,7 +121,7 @@ class AttClientToGattClientAdapter : public GattClient {
120121
/**
121122
* @see ble::pal::GattClient::discover_characteristics_of_a_service
122123
*/
123-
virtual ble_error_t discover_characteristics_of_a_service(
124+
ble_error_t discover_characteristics_of_a_service_(
124125
connection_handle_t connection_handle,
125126
attribute_handle_range_t discovery_range
126127
) {
@@ -134,7 +135,7 @@ class AttClientToGattClientAdapter : public GattClient {
134135
/**
135136
* @see ble::pal::GattClient::discover_characteristics_descriptors
136137
*/
137-
virtual ble_error_t discover_characteristics_descriptors(
138+
ble_error_t discover_characteristics_descriptors_(
138139
connection_handle_t connection_handle,
139140
attribute_handle_range_t descriptors_discovery_range
140141
) {
@@ -147,7 +148,7 @@ class AttClientToGattClientAdapter : public GattClient {
147148
/**
148149
* @see ble::pal::GattClient::read_attribute_value
149150
*/
150-
virtual ble_error_t read_attribute_value(
151+
ble_error_t read_attribute_value_(
151152
connection_handle_t connection_handle,
152153
attribute_handle_t attribute_handle
153154
) {
@@ -160,7 +161,7 @@ class AttClientToGattClientAdapter : public GattClient {
160161
/**
161162
* @see ble::pal::GattClient::read_using_characteristic_uuid
162163
*/
163-
virtual ble_error_t read_using_characteristic_uuid(
164+
ble_error_t read_using_characteristic_uuid_(
164165
connection_handle_t connection_handle,
165166
attribute_handle_range_t read_range,
166167
const UUID& uuid
@@ -175,7 +176,7 @@ class AttClientToGattClientAdapter : public GattClient {
175176
/**
176177
* @see ble::pal::GattClient::read_attribute_blob
177178
*/
178-
virtual ble_error_t read_attribute_blob(
179+
ble_error_t read_attribute_blob_(
179180
connection_handle_t connection_handle,
180181
attribute_handle_t attribute_handle,
181182
uint16_t offset
@@ -190,7 +191,7 @@ class AttClientToGattClientAdapter : public GattClient {
190191
/**
191192
* @see ble::pal::GattClient::read_multiple_characteristic_values
192193
*/
193-
virtual ble_error_t read_multiple_characteristic_values(
194+
ble_error_t read_multiple_characteristic_values_(
194195
connection_handle_t connection_handle,
195196
const ArrayView<const attribute_handle_t>& characteristic_value_handles
196197
) {
@@ -203,7 +204,7 @@ class AttClientToGattClientAdapter : public GattClient {
203204
/**
204205
* @see ble::pal::GattClient::write_without_response
205206
*/
206-
virtual ble_error_t write_without_response(
207+
ble_error_t write_without_response_(
207208
connection_handle_t connection_handle,
208209
attribute_handle_t characteristic_value_handle,
209210
const ArrayView<const uint8_t>& value
@@ -218,7 +219,7 @@ class AttClientToGattClientAdapter : public GattClient {
218219
/**
219220
* @see ble::pal::GattClient::signed_write_without_response
220221
*/
221-
virtual ble_error_t signed_write_without_response(
222+
ble_error_t signed_write_without_response_(
222223
connection_handle_t connection_handle,
223224
attribute_handle_t characteristic_value_handle,
224225
const ArrayView<const uint8_t>& value
@@ -233,7 +234,7 @@ class AttClientToGattClientAdapter : public GattClient {
233234
/**
234235
* @see ble::pal::GattClient::write_attribute
235236
*/
236-
virtual ble_error_t write_attribute(
237+
ble_error_t write_attribute_(
237238
connection_handle_t connection_handle,
238239
attribute_handle_t attribute_handle,
239240
const ArrayView<const uint8_t>& value
@@ -248,7 +249,7 @@ class AttClientToGattClientAdapter : public GattClient {
248249
/**
249250
* @see ble::pal::GattClient::queue_prepare_write
250251
*/
251-
virtual ble_error_t queue_prepare_write(
252+
ble_error_t queue_prepare_write_(
252253
connection_handle_t connection_handle,
253254
attribute_handle_t characteristic_value_handle,
254255
const ArrayView<const uint8_t>& value,
@@ -265,7 +266,7 @@ class AttClientToGattClientAdapter : public GattClient {
265266
/**
266267
* @see ble::pal::GattClient::execute_write_queue
267268
*/
268-
virtual ble_error_t execute_write_queue(
269+
ble_error_t execute_write_queue_(
269270
connection_handle_t connection_handle,
270271
bool execute
271272
) {
@@ -275,14 +276,14 @@ class AttClientToGattClientAdapter : public GattClient {
275276
/**
276277
* @see ble::pal::GattClient::initialize
277278
*/
278-
virtual ble_error_t initialize() {
279+
ble_error_t initialize_() {
279280
return _client.initialize();
280281
}
281282

282283
/**
283284
* @see ble::pal::GattClient::terminate
284285
*/
285-
virtual ble_error_t terminate() {
286+
ble_error_t terminate_() {
286287
return _client.initialize();
287288
}
288289

0 commit comments

Comments
 (0)