Zigbee Protocol Controller 1.6.0

This header contains the definitions and functionality associated with the Zigpc Group Map. This is the internal mechanism for storing and manipulating groups data. More...

Functions

sl_status_t zigpc_group_map_add_new (zigbee_group_id_t group, zigpc_group_member_t member, bool is_reported)
 zigpc_group_map_add_new Add a member to a zigbee group in the map. More...
 
sl_status_t zigpc_group_map_add_new_with_name (zigbee_group_id_t group, const char *group_name, zigpc_group_member_t member, bool is_reported)
 zigpc_group_map_add_new_with_name Add a member to a zigbee group in the map, with a name. More...
 
unsigned int zigpc_group_map_retrieve_num (zigpc_group_member_t member, bool is_reported)
 zigpc_group_map_retrieve_num Retrieve the number of groups associated with a member More...
 
sl_status_t zigpc_group_map_retrieve_grouplist (zigpc_group_member_t member, zigbee_group_id_t *group_list, unsigned int num_groups, bool is_reported)
 zigpc_group_map_retrieve_grouplist Retrieve the group list of a given member More...
 
sl_status_t zigpc_group_map_remove_group (zigbee_group_id_t group, zigpc_group_member_t member, bool is_reported)
 zigpc_group_map_remove_group Remove the given member from its associated group More...
 
sl_status_t zigpc_group_map_remove_all (zigpc_group_member_t member)
 zigpc_group_map_remove_all Remove all associated groups from a given member More...
 
size_t zigpc_group_map_get_memberlist_count (zigbee_group_id_t group_id)
 Retrieve the size of the member(EUI64/EP pair) list corresponding to a group_id. More...
 
sl_status_t zigpc_group_map_get_memberlist_items (zigbee_group_id_t group_id, zigpc_group_member_t *const member_list, size_t member_list_count)
 Retrieve the member(EUI64/EP pair) list corresponding to a group_id via the provided list pointer. More...
 
sl_status_t zigpc_group_map_clear (void)
 zigpc_group_map_clear NOTE: DEPRECATED. Note used anymore. More...
 
sl_status_t zigpc_group_map_retrieve_group_name (zigpc_group_member_t member, zigbee_group_id_t group_id, bool is_reported, char *const group_name, size_t *const group_name_size)
 zigpc_group_map_retrieve_group_name Retrieve the name of a group on a given endpoint More...
 
sl_status_t zigpc_group_map_set_group_name (zigpc_group_member_t member, zigbee_group_id_t group_id, bool is_reported, const char *group_name)
 zigpc_group_map_set_group_name Set the name of a group on a given endpoint More...
 

Detailed Description

This header contains the definitions and functionality associated with the Zigpc Group Map. This is the internal mechanism for storing and manipulating groups data.

Function Documentation

◆ zigpc_group_map_add_new()

sl_status_t zigpc_group_map_add_new ( zigbee_group_id_t  group,
zigpc_group_member_t  member,
bool  is_reported 
)

zigpc_group_map_add_new Add a member to a zigbee group in the map.

Parameters
group- the group to add a new member to
member- the new member to add
is_reported- the direction (REPORTED/DESIRED) of the operation
Returns
SL_STATUS_OK if able to add the group/member properly

◆ zigpc_group_map_add_new_with_name()

sl_status_t zigpc_group_map_add_new_with_name ( zigbee_group_id_t  group,
const char *  group_name,
zigpc_group_member_t  member,
bool  is_reported 
)

zigpc_group_map_add_new_with_name Add a member to a zigbee group in the map, with a name.

Parameters
group- the group to add a new member to
member- the new member to add
group_name- the name of the group
is_reported- the direction (REPORTED/DESIRED) of the operation
Returns
SL_STATUS_OK if able to add the group/member properly

◆ zigpc_group_map_clear()

sl_status_t zigpc_group_map_clear ( void  )

zigpc_group_map_clear NOTE: DEPRECATED. Note used anymore.

Returns
SL_STATUS_OK if able to empty the map of all contents

◆ zigpc_group_map_get_memberlist_count()

size_t zigpc_group_map_get_memberlist_count ( zigbee_group_id_t  group_id)

Retrieve the size of the member(EUI64/EP pair) list corresponding to a group_id.

Parameters
group_idGroup ID to lookup.
Returns
size_t 0U if the member list is not found or the number of members corresponding to that Group ID.

◆ zigpc_group_map_get_memberlist_items()

sl_status_t zigpc_group_map_get_memberlist_items ( zigbee_group_id_t  group_id,
zigpc_group_member_t *const  member_list,
size_t  member_list_count 
)

Retrieve the member(EUI64/EP pair) list corresponding to a group_id via the provided list pointer.

Parameters
group_idGroup ID to lookup.
member_listPointer to member list to populate.
member_list_countCapacity of the provided list.
Returns
sl_status_t SL_STATUS_OK if the list is copied, SL_STATUS_NOT_FOUND if the Group ID does not contain any members, or SL_STATUS_WOULD_OVERFLOW if the provided list is insufficient.

◆ zigpc_group_map_remove_all()

sl_status_t zigpc_group_map_remove_all ( zigpc_group_member_t  member)

zigpc_group_map_remove_all Remove all associated groups from a given member

Parameters
member- eui64/endpoint combo associated with a group
Returns
SL_STATUS_OK if able to remove the member from all its associated groups

◆ zigpc_group_map_remove_group()

sl_status_t zigpc_group_map_remove_group ( zigbee_group_id_t  group,
zigpc_group_member_t  member,
bool  is_reported 
)

zigpc_group_map_remove_group Remove the given member from its associated group

Parameters
group- the group selected
member-the member to remove from the group
is_reported- the direction of the group
Returns
SL_STATUS_OK if able to successfully remove the group. NOTE this will return OK if the member exists but was not part of the group in the first place

◆ zigpc_group_map_retrieve_group_name()

sl_status_t zigpc_group_map_retrieve_group_name ( zigpc_group_member_t  member,
zigbee_group_id_t  group_id,
bool  is_reported,
char *const  group_name,
size_t *const  group_name_size 
)

zigpc_group_map_retrieve_group_name Retrieve the name of a group on a given endpoint

Parameters
member- the new member to add
group_id- the group to add a new member to
is_reported- the direction (REPORTED/DESIRED) of the operation
group_name- Reference to buffer to populate name.
group_name_size- Reference to buffer size: IN: provided buffer capacity. OUT: actual size of buffer used.
Returns
SL_STATUS_OK if able to retrieve the group name properly SL_STATUS_WOULD_OVERFLOW if the name requested is too large to fit in the destination. SL_STATUS_EMPTY if the group is found but has no name. SL_STATUS_NULL_POINTER on invalid args passed in. SL_STATUS_FAIL on all other failures.

◆ zigpc_group_map_retrieve_grouplist()

sl_status_t zigpc_group_map_retrieve_grouplist ( zigpc_group_member_t  member,
zigbee_group_id_t group_list,
unsigned int  num_groups,
bool  is_reported 
)

zigpc_group_map_retrieve_grouplist Retrieve the group list of a given member

Parameters
member- the endpoit/eui64 combo associated with a number of groups
group_list- the destination to store the list of groups
num_groups- the size of the group_list
is_reported- the direction of the group_list desired (reported/desired)
Returns
SL_STATUS_OK if able to retrive the group_list, SL_STATUS_FAIL if an error occured or the group_list does not exist

◆ zigpc_group_map_retrieve_num()

unsigned int zigpc_group_map_retrieve_num ( zigpc_group_member_t  member,
bool  is_reported 
)

zigpc_group_map_retrieve_num Retrieve the number of groups associated with a member

Parameters
member- the group member
is_reported- the direction to retrieve
Returns
the size of the grouplist of a given member. 0 if unable to retrieve the grouplist or the grouplist is empty

◆ zigpc_group_map_set_group_name()

sl_status_t zigpc_group_map_set_group_name ( zigpc_group_member_t  member,
zigbee_group_id_t  group_id,
bool  is_reported,
const char *  group_name 
)

zigpc_group_map_set_group_name Set the name of a group on a given endpoint

Parameters
member- the new member to add
group_id- the group to add a new member to
is_reported- the direction (REPORTED/DESIRED) of the operation
group_name- the destination where to copy the name
Returns
SL_STATUS_OK if able to set the group name properly SL_STATUS_NOT_FOUND if unable to retrieve the member or the group SL_STATUS_FAIL in all other failures