22#if !defined(GLOBUS_STATES_H)
23#define GLOBUS_STATES_H 1
31#define globus_state_add_transition(_h, _s, _e, _ns, _cb, _d) \
32globus_state_add_transition_real(_h, _s, _e, _ns, _cb, #_cb, _d)
34extern globus_extension_registry_t globus_i_state_diagram_registry;
35#define GLOBUS_STATE_DIAGRAM_REGISTRY &globus_i_state_diagram_registry
37typedef struct globus_i_state_handle_s * globus_state_handle_t;
41(*globus_states_transition_function_t)(
47(*globus_states_transition_error_function_t)(
53(*globus_states_init_function_t)(
54 globus_state_handle_t handle);
56typedef struct globus_state_extension_handle_s
58 globus_states_init_function_t init_handler;
60} globus_state_extension_handle_t;
64typedef enum globus_state_dia_flags_e
66 GLOBUS_STATE_DIA_EDGE_EVENT = 1,
67 GLOBUS_STATE_DIA_EDGE_FUNC = 2,
68 GLOBUS_STATE_DIA_NO_DUPLICATES = 4,
69 GLOBUS_STATE_DIA_NUMBER_LABELS = 8
70} globus_state_dia_flags_t;
73globus_states_set_events(
74 globus_state_handle_t handle,
83 globus_state_handle_t * out_handle,
84 globus_states_init_function_t init_func);
87globus_state_add_transition_real(
88 globus_state_handle_t in_handle,
92 globus_states_transition_function_t cb,
98globus_state_handle_event_now(
99 globus_state_handle_t in_handle,
105globus_state_queue_event(
106 globus_state_handle_t in_handle,
110 globus_states_transition_error_function_t error_event);
116 globus_state_handle_t in_handle);
119globus_state_make_graph(
120 globus_state_handle_t in_handle,
121 const char * filename,
122 const char * txt_filename,
Headers common to all of Globus.
uint32_t globus_result_t
Definition globus_types.h:99