22 #if !defined(GLOBUS_STATES_H)
23 #define GLOBUS_STATES_H 1
31 #define globus_state_add_transition(_h, _s, _e, _ns, _cb, _d) \
32 globus_state_add_transition_real(_h, _s, _e, _ns, _cb, #_cb, _d)
34 extern globus_extension_registry_t globus_i_state_diagram_registry;
35 #define GLOBUS_STATE_DIAGRAM_REGISTRY &globus_i_state_diagram_registry
37 typedef 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);
56 typedef struct globus_state_extension_handle_s
58 globus_states_init_function_t init_handler;
60 } globus_state_extension_handle_t;
64 typedef 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;
73 globus_states_set_events(
74 globus_state_handle_t handle,
83 globus_state_handle_t * out_handle,
84 globus_states_init_function_t init_func);
87 globus_state_add_transition_real(
88 globus_state_handle_t in_handle,
92 globus_states_transition_function_t cb,
98 globus_state_handle_event_now(
99 globus_state_handle_t in_handle,
105 globus_state_queue_event(
106 globus_state_handle_t in_handle,
110 globus_states_transition_error_function_t error_event);
115 globus_state_destroy(
116 globus_state_handle_t in_handle);
119 globus_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