mirror of
https://github.com/google/pebble.git
synced 2025-03-25 04:49:06 +00:00
102 lines
3.5 KiB
C
102 lines
3.5 KiB
C
/*
|
|
* Copyright 2024 Google LLC
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
#include "fake_gatt_client_subscriptions.h"
|
|
|
|
#include "clar_asserts.h"
|
|
|
|
typedef struct {
|
|
ListNode node;
|
|
BLECharacteristic characteristic;
|
|
BLESubscription subscription_type;
|
|
GAPLEClient client;
|
|
} Subscribe;
|
|
|
|
static Subscribe *s_subscribe_head;
|
|
|
|
static BTErrno s_subscribe_return_value;
|
|
|
|
BTErrno gatt_client_subscriptions_subscribe(BLECharacteristic characteristic,
|
|
BLESubscription subscription_type,
|
|
GAPLEClient client) {
|
|
Subscribe *subscribe = malloc(sizeof(Subscribe));
|
|
*subscribe = (const Subscribe) {
|
|
.characteristic = characteristic,
|
|
.subscription_type = subscription_type,
|
|
.client = client,
|
|
};
|
|
if (s_subscribe_head) {
|
|
list_append((ListNode *)s_subscribe_head, &subscribe->node);
|
|
} else {
|
|
s_subscribe_head = subscribe;
|
|
}
|
|
return s_subscribe_return_value;
|
|
}
|
|
|
|
bool gatt_client_subscriptions_get_notification_header(GAPLEClient client,
|
|
GATTBufferedNotificationHeader *header_out) {
|
|
return false;
|
|
}
|
|
|
|
uint16_t gatt_client_subscriptions_consume_notification(BLECharacteristic *characteristic_ref_out,
|
|
uint8_t *value_out,
|
|
uint16_t *value_length_in_out,
|
|
GAPLEClient client, bool *has_more_out) {
|
|
return 0;
|
|
}
|
|
|
|
void gatt_client_subscriptions_cleanup_by_client(GAPLEClient client) {
|
|
|
|
}
|
|
|
|
void gatt_client_subscriptions_cleanup_by_connection(struct GAPLEConnection *connection,
|
|
bool should_unsubscribe) {
|
|
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Fake Manipulation
|
|
|
|
void fake_gatt_client_subscriptions_init(void) {
|
|
s_subscribe_return_value = BTErrnoOK;
|
|
}
|
|
|
|
void fake_gatt_client_subscriptions_deinit(void) {
|
|
Subscribe *subscribe = s_subscribe_head;
|
|
while (subscribe) {
|
|
Subscribe *next = (Subscribe *) subscribe->node.next;
|
|
free(subscribe);
|
|
subscribe = next;
|
|
}
|
|
s_subscribe_head = NULL;
|
|
}
|
|
|
|
void fake_gatt_client_subscriptions_set_subscribe_return_value(BTErrno e) {
|
|
s_subscribe_return_value = e;
|
|
}
|
|
|
|
void fake_gatt_client_subscriptions_assert_subscribe(BLECharacteristic characteristic,
|
|
BLESubscription subscription_type,
|
|
GAPLEClient client) {
|
|
if (s_subscribe_head) {
|
|
cl_assert_equal_i(characteristic, s_subscribe_head->characteristic);
|
|
cl_assert_equal_i(subscription_type, s_subscribe_head->subscription_type);
|
|
cl_assert_equal_i(client, s_subscribe_head->client);
|
|
} else {
|
|
cl_assert_(false, "No gatt_client_subscriptions_subscribe() has happened at all");
|
|
}
|
|
s_subscribe_head = (Subscribe *) list_pop_head(&s_subscribe_head->node);
|
|
}
|