OpenSync 0.22
osengine/osengine_mapping_internals.h
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