00001
00002 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00003 struct OSyncEngine {
00005 OSyncGroup *group;
00006 void (* conflict_callback) (OSyncEngine *, OSyncMapping *, void *);
00007 void *conflict_userdata;
00008 void (* changestat_callback) (OSyncEngine *, OSyncChangeUpdate *, void *);
00009 void *changestat_userdata;
00010 void (* mebstat_callback) (OSyncMemberUpdate *, void *);
00011 void *mebstat_userdata;
00012 void (* engstat_callback) (OSyncEngine *, OSyncEngineUpdate *, void *);
00013 void *engstat_userdata;
00014 void (* mapstat_callback) (OSyncMappingUpdate *, void *);
00015 void *mapstat_userdata;
00016 void *(* plgmsg_callback) (OSyncEngine *, OSyncClient *, const char *, void *, void *);
00017 void *plgmsg_userdata;
00019 GList *clients;
00021 GMainLoop *syncloop;
00022 GMainContext *context;
00024 OSyncQueue *commands_from_self;
00025 OSyncQueue *commands_to_self;
00026
00027 GCond* syncing;
00028 GMutex* syncing_mutex;
00029
00030 GCond* info_received;
00031 GMutex* info_received_mutex;
00032
00033 GCond* started;
00034 GMutex* started_mutex;
00035
00036
00037 OSyncFlag *fl_running;
00038 OSyncFlag *fl_sync;
00039 OSyncFlag *fl_stop;
00040
00041
00042 OSyncFlag *cmb_connected;
00043 OSyncFlag *cmb_sent_changes;
00044 OSyncFlag *cmb_entries_mapped;
00045 OSyncFlag *cmb_synced;
00046 OSyncFlag *cmb_finished;
00047 OSyncFlag *cmb_chkconflict;
00048 OSyncFlag *cmb_read_all;
00049 OSyncFlag *cmb_multiplied;
00050 OSyncFlag *cmb_committed_all;
00051 OSyncFlag *cmb_committed_all_sent;
00052
00053 osync_bool man_dispatch;
00054 osync_bool allow_sync_alert;
00055 OSyncMappingTable *maptable;
00056 osync_bool is_initialized;
00057 osync_bool committed_all_sent;
00058
00059 OSyncError *error;
00060 GThread *thread;
00061
00062 int wasted;
00063 int alldeciders;
00064
00065 osync_bool slowsync;
00066 };
00067 #endif
00068
00069 void send_client_changed(OSyncEngine *engine, OSyncClient *client);
00070 void send_mappingentry_changed(OSyncEngine *engine, OSyncMappingEntry *entry);
00071 void send_mapping_changed(OSyncEngine *engine, OSyncMapping *mapping);
00072 void send_get_change_data(OSyncEngine *sender, OSyncMappingEntry *entry);
00073 void send_commit_change(OSyncEngine *sender, OSyncMappingEntry *entry);
00074 void send_connect(OSyncClient *target, OSyncEngine *sender);
00075 void send_get_changes(OSyncClient *target, OSyncEngine *sender, osync_bool data);
00076 void send_sync_done(OSyncClient *target, OSyncEngine *sender);
00077 void send_disconnect(OSyncClient *target, OSyncEngine *sender);
00078 void send_read_change(OSyncEngine *sender, OSyncMappingEntry *entry);
00079 void send_engine_changed(OSyncEngine *engine);
00080 void send_committed_all(OSyncClient *target, OSyncEngine *sender);