22 #include "engine_internals.h" 31 osync_flag_calculate_comb(parent);
41 OSyncFlag *osync_comb_flag_new(osync_bool any, osync_bool default_val)
47 flag->
is_set = default_val;
62 osync_flag_calculate_comb(target);
65 osync_bool osync_flag_is_attached(
OSyncFlag *flag)
83 osync_flag_calculate_comb(target);
86 void osync_flag_set_pos_trigger(
OSyncFlag *flag, OSyncFlagTriggerFunc func,
void *data1,
void *data2)
93 void osync_flag_set_neg_trigger(
OSyncFlag *flag, OSyncFlagTriggerFunc func,
void *data1,
void *data2)
100 void osync_flag_calculate_comb(
OSyncFlag *flag)
107 osync_flag_set(flag);
109 osync_flag_unset(flag);
115 osync_flag_set(flag);
117 osync_flag_unset(flag);
121 osync_flag_set(flag);
123 osync_flag_unset(flag);
128 osync_bool osync_flag_is_set(
OSyncFlag *flag)
135 osync_bool osync_flag_is_not_set(
OSyncFlag *flag)
142 void osync_comb_flag_update(
OSyncFlag *combflag,
OSyncFlag *flag, osync_bool prev_state)
144 if (prev_state == flag->
is_set)
155 void osync_flag_changing(
OSyncFlag *flag)
167 osync_bool oldstate = flag->
is_set;
170 osync_flag_calc_trigger(flag, oldstate);
172 osync_comb_flag_update(flag->
comb_flag, flag, oldstate);
173 osync_flag_calculate_comb(flag->
comb_flag);
179 osync_bool oldstate = flag->
is_set;
182 osync_flag_calc_trigger(flag, oldstate);
184 osync_comb_flag_update(flag->
comb_flag, flag, oldstate);
185 osync_flag_calculate_comb(flag->
comb_flag);
189 void osync_flag_set_state(
OSyncFlag *flag, osync_bool state)
191 osync_bool oldstate = flag->
is_set;
195 osync_comb_flag_update(flag->
comb_flag, flag, oldstate);
203 osync_bool osync_flag_get_state(
OSyncFlag *flag)
208 void osync_flag_calc_trigger(
OSyncFlag *flag, osync_bool oldstate)
210 if (flag->
is_set != oldstate) {
211 if (flag->
is_set == TRUE) {
OSyncFlagTriggerFunc pos_trigger_func
The functions that can be called on a plugin.
OSyncFlagTriggerFunc neg_trigger_func