BRL-CAD
observer.h File Reference
#include "common.h"
#include "bu/defines.h"
#include "bu/magic.h"
#include "bu/vls.h"
Include dependency graph for observer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  bu_observer
 
struct  bu_observer_list
 

Macros

#define BU_OBSERVER_NULL   ((struct bu_observer *)0)
 
#define BU_CK_OBSERVER(_op)   BU_CKMAG(_op, BU_OBSERVER_MAGIC, "bu_observer magic")
 
#define BU_OBSERVER_INIT(_op)
 
#define BU_OBSERVER_INIT_ZERO   { BU_OBSERVER_MAGIC, BU_VLS_INIT_ZERO, BU_VLS_INIT_ZERO }
 
#define BU_OBSERVER_LIST_INIT_ZERO   { 0, 0, NULL }
 
#define BU_OBSERVER_IS_INITIALIZED(_op)   (((struct bu_observer *)(_op) != BU_OBSERVER_NULL) && LIKELY((_op)->magic == BU_OBSERVER_MAGIC))
 

Typedefs

typedef void() bu_observer_eval_t(void *, const char *)
 
typedef struct bu_observer bu_observer_t
 

Functions

int bu_observer_cmd (void *clientData, int argc, const char *argv[])
 Routines for implementing the observer pattern. More...
 
void bu_observer_notify (void *context, struct bu_observer_list *observers, char *self, bu_observer_eval_t *ofunc)
 
void bu_observer_free (struct bu_observer_list *)