mesh: rename mesh_transport_key_aid_iterator to indicate AID filter

This commit is contained in:
Matthias Ringwald 2019-04-25 22:18:15 +02:00
parent 3f60e917b4
commit 9572f83fe1
3 changed files with 17 additions and 16 deletions

View File

@ -196,7 +196,7 @@ const mesh_transport_key_t * mesh_transport_key_get(uint16_t appkey_index){
// key iterator
void
mesh_transport_key_iterator_init(mesh_transport_key_iterator_t *it, uint16_t netkey_index, uint8_t akf, uint8_t aid) {
mesh_transport_key_aid_iterator_init(mesh_transport_key_iterator_t *it, uint16_t netkey_index, uint8_t akf, uint8_t aid) {
btstack_linked_list_iterator_init(&it->it, &application_keys);
it->netkey_index = netkey_index;
it->aid = aid;
@ -209,7 +209,7 @@ mesh_transport_key_iterator_init(mesh_transport_key_iterator_t *it, uint16_t net
}
int mesh_transport_key_iterator_has_more(mesh_transport_key_iterator_t *it){
int mesh_transport_key_aid_iterator_has_more(mesh_transport_key_iterator_t *it){
if (it->akf == 0){
return it->key != NULL;
}
@ -222,7 +222,7 @@ int mesh_transport_key_iterator_has_more(mesh_transport_key_iterator_t *it){
return 0;
}
const mesh_transport_key_t * mesh_transport_key_iterator_get_next(mesh_transport_key_iterator_t *it){
const mesh_transport_key_t * mesh_transport_key_aid_iterator_get_next(mesh_transport_key_iterator_t *it){
mesh_transport_key_t * key = it->key;
it->key = NULL;
return key;

View File

@ -227,27 +227,28 @@ void mesh_application_key_set(uint16_t netkey_index, uint16_t appkey_index, uint
const mesh_transport_key_t * mesh_transport_key_get(uint16_t appkey_index);
/**
* Transport Key Iterator - init
* Transport Key Iterator by AID - init
* @param it
* @param netkey_index
* @param akf
* @param aid
*/
void mesh_transport_key_iterator_init(mesh_transport_key_iterator_t *it, uint16_t netkey_index, uint8_t akf, uint8_t aid);
void mesh_transport_key_aid_iterator_init(mesh_transport_key_iterator_t *it, uint16_t netkey_index, uint8_t akf,
uint8_t aid);
/**
* Transport Key Iterator - has more?
* Transport Key Iterator by AID - has more?
* @param it
* @return
*/
int mesh_transport_key_iterator_has_more(mesh_transport_key_iterator_t *it);
int mesh_transport_key_aid_iterator_has_more(mesh_transport_key_iterator_t *it);
/** Transport Key Iterator - get next
/** Transport Key Iterator by AID - get next
*
* @param it
* @return transport key
*/
const mesh_transport_key_t * mesh_transport_key_iterator_get_next(mesh_transport_key_iterator_t *it);
const mesh_transport_key_t * mesh_transport_key_aid_iterator_get_next(mesh_transport_key_iterator_t *it);
#ifdef __cplusplus
} /* end of extern "C" */

View File

@ -86,13 +86,13 @@ static void mesh_transport_key_and_virtual_address_iterator_init(mesh_transport_
it->key = NULL;
it->address = NULL;
// init element iterators
mesh_transport_key_iterator_init(&it->key_it, netkey_index, akf, aid);
mesh_transport_key_aid_iterator_init(&it->key_it, netkey_index, akf, aid);
// init address iterator
if (mesh_network_address_virtual(it->dst)){
mesh_virtual_address_iterator_init(&it->address_it, dst);
// get first key
if (mesh_transport_key_iterator_has_more(&it->key_it)) {
it->key = mesh_transport_key_iterator_get_next(&it->key_it);
if (mesh_transport_key_aid_iterator_has_more(&it->key_it)) {
it->key = mesh_transport_key_aid_iterator_get_next(&it->key_it);
}
}
}
@ -103,13 +103,13 @@ static int mesh_transport_key_and_virtual_address_iterator_has_more(mesh_transpo
// find next valid entry
while (1){
if (mesh_virtual_address_iterator_has_more(&it->address_it)) return 1;
if (!mesh_transport_key_iterator_has_more(&it->key_it)) return 0;
if (!mesh_transport_key_aid_iterator_has_more(&it->key_it)) return 0;
// get next key
it->key = mesh_transport_key_iterator_get_next(&it->key_it);
it->key = mesh_transport_key_aid_iterator_get_next(&it->key_it);
mesh_virtual_address_iterator_init(&it->address_it, it->dst);
}
} else {
return mesh_transport_key_iterator_has_more(&it->key_it);
return mesh_transport_key_aid_iterator_has_more(&it->key_it);
}
}
@ -117,7 +117,7 @@ static void mesh_transport_key_and_virtual_address_iterator_next(mesh_transport_
if (mesh_network_address_virtual(it->dst)) {
it->address = mesh_virtual_address_iterator_get_next(&it->address_it);
} else {
it->key = mesh_transport_key_iterator_get_next(&it->key_it);
it->key = mesh_transport_key_aid_iterator_get_next(&it->key_it);
}
}