7 #if !defined(GLOBUS_STATES_H)
8 #define GLOBUS_STATES_H 1
16 #define globus_state_add_transition(_h, _s, _e, _ns, _cb, _d) \
17 globus_state_add_transition_real(_h, _s, _e, _ns, _cb, #_cb, _d)
19 extern globus_extension_registry_t globus_i_state_diagram_registry;
20 #define GLOBUS_STATE_DIAGRAM_REGISTRY &globus_i_state_diagram_registry
22 typedef struct globus_i_state_handle_s * globus_state_handle_t;
26 (*globus_states_transition_function_t)(
32 (*globus_states_transition_error_function_t)(
38 (*globus_states_init_function_t)(
39 globus_state_handle_t handle);
41 typedef struct globus_state_extension_handle_s
43 globus_states_init_function_t init_handler;
45 } globus_state_extension_handle_t;
49 typedef enum globus_state_dia_flags_e
51 GLOBUS_STATE_DIA_EDGE_EVENT = 1,
52 GLOBUS_STATE_DIA_EDGE_FUNC = 2,
53 GLOBUS_STATE_DIA_NO_DUPLICATES = 4,
54 GLOBUS_STATE_DIA_NUMBER_LABELS = 8
55 } globus_state_dia_flags_t;
58 globus_states_set_events(
59 globus_state_handle_t handle,
68 globus_state_handle_t * out_handle,
69 globus_states_init_function_t init_func);
72 globus_state_add_transition_real(
73 globus_state_handle_t in_handle,
77 globus_states_transition_function_t cb,
83 globus_state_handle_event_now(
84 globus_state_handle_t in_handle,
90 globus_state_queue_event(
91 globus_state_handle_t in_handle,
95 globus_states_transition_error_function_t error_event);
100 globus_state_destroy(
101 globus_state_handle_t in_handle);
104 globus_state_make_graph(
105 globus_state_handle_t in_handle,
106 const char * filename,
107 const char * txt_filename,
Headers common to all of Globus.
uint32_t globus_result_t
Definition: globus_types.h:84