OpenSync  0.22
osengine_engine_internals.h
1 
2 #ifndef DOXYGEN_SHOULD_SKIP_THIS
3 struct OSyncEngine {
5  OSyncGroup *group;
6  void (* conflict_callback) (OSyncEngine *, OSyncMapping *, void *);
7  void *conflict_userdata;
8  void (* changestat_callback) (OSyncEngine *, OSyncChangeUpdate *, void *);
9  void *changestat_userdata;
10  void (* mebstat_callback) (OSyncMemberUpdate *, void *);
11  void *mebstat_userdata;
12  void (* engstat_callback) (OSyncEngine *, OSyncEngineUpdate *, void *);
13  void *engstat_userdata;
14  void (* mapstat_callback) (OSyncMappingUpdate *, void *);
15  void *mapstat_userdata;
16  void *(* plgmsg_callback) (OSyncEngine *, OSyncClient *, const char *, void *, void *);
17  void *plgmsg_userdata;
19  GList *clients;
21  GMainLoop *syncloop;
22  GMainContext *context;
24  OSyncQueue *commands_from_self;
25  OSyncQueue *commands_to_self;
26 
27  GCond* syncing;
28  GMutex* syncing_mutex;
29 
30  GCond* info_received;
31  GMutex* info_received_mutex;
32 
33  GCond* started;
34  GMutex* started_mutex;
35 
36  //The normal flags
37  OSyncFlag *fl_running; //Is the syncengine running?
38  OSyncFlag *fl_sync; //Do we want to sync data or do we just want info?
39  OSyncFlag *fl_stop; //Do we want to stop the engine?
40 
41  //The combined flags
42  OSyncFlag *cmb_connected; //Did all client connect or error?
43  OSyncFlag *cmb_sent_changes; //Did all clients sent changes?
44  OSyncFlag *cmb_entries_mapped; //Do we have unmapped entries?
45  OSyncFlag *cmb_synced; //Are all mappings synced?
46  OSyncFlag *cmb_finished; //Are all clients done and disconnected?
47  OSyncFlag *cmb_chkconflict;
48  OSyncFlag *cmb_read_all;
49  OSyncFlag *cmb_multiplied;
50  OSyncFlag *cmb_committed_all;
51  OSyncFlag *cmb_committed_all_sent;
52 
53  osync_bool man_dispatch;
54  osync_bool allow_sync_alert;
55  OSyncMappingTable *maptable;
56  osync_bool is_initialized;
57  osync_bool committed_all_sent;
58 
59  OSyncError *error;
60  GThread *thread;
61 
62  int wasted;
63  int alldeciders;
64 
65  osync_bool slowsync;
66 };
67 #endif
68 
69 void send_client_changed(OSyncEngine *engine, OSyncClient *client);
70 void send_mappingentry_changed(OSyncEngine *engine, OSyncMappingEntry *entry);
71 void send_mapping_changed(OSyncEngine *engine, OSyncMapping *mapping);
72 void send_get_change_data(OSyncEngine *sender, OSyncMappingEntry *entry);
73 void send_commit_change(OSyncEngine *sender, OSyncMappingEntry *entry);
74 void send_connect(OSyncClient *target, OSyncEngine *sender);
75 void send_get_changes(OSyncClient *target, OSyncEngine *sender, osync_bool data);
76 void send_sync_done(OSyncClient *target, OSyncEngine *sender);
77 void send_disconnect(OSyncClient *target, OSyncEngine *sender);
78 void send_read_change(OSyncEngine *sender, OSyncMappingEntry *entry);
79 void send_engine_changed(OSyncEngine *engine);
80 void send_committed_all(OSyncClient *target, OSyncEngine *sender);
Struct for the engine status callback.
Represent an error.
Represent a group of members that should be synchronized.
Struct for the member status callback.
Struct for the change status callback.
The functions that can be called on a plugin.
Struct for the mapping status callback.
Represents a Queue which can be used to receive messages.