• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List

osengine/osengine_engine_internals.h

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         //The normal flags
00037         OSyncFlag *fl_running; //Is the syncengine running?
00038         OSyncFlag *fl_sync; //Do we want to sync data or do we just want info?
00039         OSyncFlag *fl_stop; //Do we want to stop the engine?
00040         
00041         //The combined flags
00042         OSyncFlag *cmb_connected; //Did all client connect or error?
00043         OSyncFlag *cmb_sent_changes; //Did all clients sent changes?
00044         OSyncFlag *cmb_entries_mapped; //Do we have unmapped entries?
00045         OSyncFlag *cmb_synced; //Are all mappings synced?
00046         OSyncFlag *cmb_finished; //Are all clients done and disconnected?
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);

Generated on Sat Aug 13 2011 for OpenSync by  doxygen 1.7.1