Zigbee Protocol Controller 1.6.0
zigpc_common_observable.h File Reference
#include <stdint.h>
#include "sl_status.h"

Go to the source code of this file.

Classes

struct  zigpc_observable_event_entry
 
struct  zigpc_observable
 Observable instance. More...
 

Macros

#define ZIGPC_OBSERVER_EVENTS_MAX   20
 Maximum number of events supported by an observable instance. More...
 
#define ZIGPC_OBSERVER_EVENT_CALLBACKS_MAX   5
 Maximum number of listeners per event supported by an observable instance. More...
 

Typedefs

typedef uint8_t zigpc_observer_event_t
 Observer event type. More...
 
typedef void(* zigpc_observer_callback_t) (void *data)
 Observer callback that is called by subjects when notifying observers of new events. More...
 

Functions

sl_status_t zigpc_observable_notify (const struct zigpc_observable *observable, const zigpc_observer_event_t event, void *data)
 Inform Observers of observable instance of an event with data. More...
 
sl_status_t zigpc_observable_register (struct zigpc_observable *observable, const zigpc_observer_event_t event, zigpc_observer_callback_t callback)
 Register an observer with a corresponding event to observable instance. More...
 
sl_status_t zigpc_observable_unregister (struct zigpc_observable *observable, const zigpc_observer_event_t event, const zigpc_observer_callback_t callback)
 Unregister an observer with a corresponding event from observable instance. More...
 
sl_status_t zigpc_observable_init (struct zigpc_observable *observable, const zigpc_observer_event_t *event_list, const uint8_t event_count)
 Initialize observable with an approved event list. More...
 
void zigpc_observable_clear (struct zigpc_observable *observable)
 Stop all observers from being notified. More...