OpenSync
0.22
|
00001 00002 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00003 struct OSyncMappingTable { 00004 GList *mappings; 00005 OSyncEngine *engine; 00006 GList *unmapped; 00007 OSyncGroup *group; 00008 GList *views; 00009 GList *entries; 00010 }; 00011 00012 struct OSyncMappingView { 00013 OSyncClient *client; 00014 GList *changes; 00015 OSyncMappingTable *table; 00016 long long int memberid; 00017 }; 00018 00019 struct OSyncMapping { 00020 GList *entries; 00021 OSyncMappingEntry *master; 00022 void *engine_data; 00023 long long int id; 00024 OSyncMappingTable *table; 00025 OSyncFlag *fl_solved; 00026 OSyncFlag *fl_chkconflict; 00027 OSyncFlag *fl_multiplied; 00028 //The combined flags 00029 OSyncFlag *cmb_synced; 00030 OSyncFlag *cmb_has_data; 00031 OSyncFlag *cmb_has_info; 00032 OSyncFlag *cmb_deleted; 00033 OSyncEngine *engine; 00034 }; 00035 00036 struct OSyncMappingEntry { 00037 OSyncMappingView *view; 00038 OSyncClient *client; 00039 OSyncMapping *mapping; 00040 OSyncChange *change; 00041 OSyncFlag *fl_has_data; 00042 OSyncFlag *fl_dirty; 00043 OSyncFlag *fl_mapped; 00044 OSyncFlag *fl_has_info; 00045 OSyncFlag *fl_synced; 00046 OSyncFlag *fl_deleted; 00047 OSyncFlag *fl_read; 00048 OSyncFlag *fl_committed; 00049 }; 00050 #endif 00051 00052 OSyncMappingTable *osengine_mappingtable_new(OSyncEngine *engine); 00053 void osengine_mappingtable_free(OSyncMappingTable *table); 00054 OSyncMappingEntry *osengine_mappingtable_store_change(OSyncMappingTable *table, OSyncChange *change); 00055 OSyncMapping *osengine_mappingtable_find_mapping(OSyncMappingTable *table, OSyncChange *change); 00056 OSyncMappingView *osengine_mappingtable_find_view(OSyncMappingTable *table, OSyncMember *member); 00057 void osengine_mappingtable_add_mapping(OSyncMappingTable *table, OSyncMapping *mapping); 00058 osync_bool osengine_mappingtable_load(OSyncMappingTable *table, OSyncError **error); 00059 OSyncMappingTable *_osengine_mappingtable_load_group(OSyncGroup *group); 00060 void osengine_mappingtable_close(OSyncMappingTable *table); 00061 long long int osengine_mappingtable_get_next_id(OSyncMappingTable *table); 00062 void osengine_mappingtable_reset(OSyncMappingTable *table); 00063 void osengine_mappingtable_inject_changes(OSyncMappingTable *table); 00064 00065 OSyncMapping *osengine_mapping_new(OSyncMappingTable *table); 00066 void osengine_mapping_free(OSyncMapping *mapping); 00067 void osengine_mapping_add_entry(OSyncMapping *mapping, OSyncMappingEntry *entry); 00068 void osengine_mapping_remove_entry(OSyncMapping *mapping, OSyncMappingEntry *entry); 00069 OSyncMappingEntry *osengine_mapping_find_entry(OSyncMapping *mapping, OSyncChange *change, OSyncMappingView *view); 00070 OSyncMappingEntry *osengine_mapping_nth_entry(OSyncMapping *mapping, int nth); 00071 void osengine_mapping_reset(OSyncMapping *mapping); 00072 void osengine_mapping_delete(OSyncMapping *mapping); 00073 00074 OSyncMappingView *osengine_mappingview_new(OSyncMappingTable *table, OSyncClient *client); 00075 OSyncMappingEntry *osengine_mappingview_store_change(OSyncMappingView *view, OSyncChange *change); 00076 osync_bool osengine_mappingview_uid_is_unique(OSyncMappingView *view, OSyncMappingEntry *entry, osync_bool spare_deleted); 00077 void osengine_mappingview_add_entry(OSyncMappingView *view, OSyncMappingEntry *entry); 00078 void osengine_mappingview_reset(OSyncMappingView *view); 00079 void osengine_mappingview_free(OSyncMappingView *view); 00080 00081 void osengine_mappingentry_update(OSyncMappingEntry *entry, OSyncChange *change); 00082 OSyncMappingEntry *osengine_mappingentry_new(OSyncMapping *mapping); 00083 void osengine_mappingentry_reset(OSyncMappingEntry *entry); 00084 void osengine_mappingentry_free(OSyncMappingEntry *entry); 00085 OSyncMapping *osengine_mappingtable_mapping_from_id(OSyncMappingTable *table, long long id); 00086 OSyncMappingEntry *osengine_mappingentry_copy(OSyncMappingEntry *entry); 00087