~ubuntu-branches/ubuntu/karmic/opensync/karmic

« back to all changes in this revision

Viewing changes to osengine/osengine_flags_internals.h

  • Committer: Bazaar Package Importer
  • Author(s): Robert Collins
  • Date: 2005-12-18 00:59:13 UTC
  • Revision ID: james.westby@ubuntu.com-20051218005913-8keii9amu8dfkfnp
Tags: upstream-0.18
ImportĀ upstreamĀ versionĀ 0.18

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
/*! @brief The functions that can be called on a plugin */
 
3
struct OSyncFlag {
 
4
        /** If this flag is raised */
 
5
        osync_bool is_set;
 
6
        /** If this flag is currently changing its value */
 
7
        osync_bool is_changing;
 
8
        /** The default value of the flag if no children are conencted */
 
9
        osync_bool default_val;
 
10
        /** The parent flag*/
 
11
        OSyncFlag *comb_flag;
 
12
        /** The cached number of unset child flags */
 
13
        unsigned int num_not_set;
 
14
        /** The cached number of set child flags */
 
15
        unsigned int num_set;
 
16
        /** If this flag is a combined flag */
 
17
        osync_bool is_comb;
 
18
        /** The function to be called when the value changes from neq to pos */
 
19
        OSyncFlagTriggerFunc pos_trigger_func;
 
20
        /** To first value to be passed to the pos triger function */
 
21
        void *pos_user_data1;
 
22
        /** To second value to be passed to the pos triger function  */
 
23
        void *pos_user_data2;
 
24
        /** The function to be called when the value changes from pos to neq */
 
25
        OSyncFlagTriggerFunc neg_trigger_func;
 
26
        /** To first value to be passed to the neq triger function */
 
27
        void *neg_user_data1;
 
28
        /** To second value to be passed to the neq triger function */
 
29
        void *neg_user_data2;
 
30
        /** Should the combined flag be a OR or a AND flag? */
 
31
        osync_bool is_any;
 
32
};
 
33
 
 
34
OSyncFlag *osync_flag_new(OSyncFlag *parent);
 
35
OSyncFlag *osync_comb_flag_new(osync_bool any, osync_bool default_val);
 
36
void osync_flag_set_pos_trigger(OSyncFlag *flag, OSyncFlagTriggerFunc func, void *data1, void *data2);
 
37
void osync_flag_set_neg_trigger(OSyncFlag *flag, OSyncFlagTriggerFunc func, void *data1, void *data2);
 
38
void osync_flag_calculate_comb(OSyncFlag *flag);
 
39
osync_bool osync_flag_is_set(OSyncFlag *flag);
 
40
osync_bool osync_flag_is_not_set(OSyncFlag *flag);
 
41
void osync_comb_flag_update(OSyncFlag *combflag, OSyncFlag *flag, osync_bool prev_state);
 
42
void osync_flag_changing(OSyncFlag *flag);
 
43
void osync_flag_cancel(OSyncFlag *flag);
 
44
void osync_flag_unset(OSyncFlag *flag);
 
45
void osync_flag_set(OSyncFlag *flag);
 
46
void osync_flag_calc_trigger(OSyncFlag *flag, osync_bool oldstate);
 
47
void osync_change_flags_detach(OSyncChange *change);
 
48
osync_bool osync_flag_get_state(OSyncFlag *flag);
 
49
void osync_flag_free(OSyncFlag *flag);
 
50
void osync_flag_set_state(OSyncFlag *flag, osync_bool state);
 
51
void osync_flag_attach(OSyncFlag *flag, OSyncFlag *target);
 
52
void osync_flag_detach(OSyncFlag *flag);
 
53
osync_bool osync_flag_is_attached(OSyncFlag *flag);