OpenSync  0.22
osengine_mapping_internals.h
1 
2 #ifndef DOXYGEN_SHOULD_SKIP_THIS
3 struct OSyncMappingTable {
4  GList *mappings;
5  OSyncEngine *engine;
6  GList *unmapped;
7  OSyncGroup *group;
8  GList *views;
9  GList *entries;
10 };
11 
12 struct OSyncMappingView {
13  OSyncClient *client;
14  GList *changes;
15  OSyncMappingTable *table;
16  long long int memberid;
17 };
18 
19 struct OSyncMapping {
20  GList *entries;
21  OSyncMappingEntry *master;
22  void *engine_data;
23  long long int id;
24  OSyncMappingTable *table;
25  OSyncFlag *fl_solved;
26  OSyncFlag *fl_chkconflict;
27  OSyncFlag *fl_multiplied;
28  //The combined flags
29  OSyncFlag *cmb_synced;
30  OSyncFlag *cmb_has_data;
31  OSyncFlag *cmb_has_info;
32  OSyncFlag *cmb_deleted;
33  OSyncEngine *engine;
34 };
35 
36 struct OSyncMappingEntry {
37  OSyncMappingView *view;
38  OSyncClient *client;
39  OSyncMapping *mapping;
40  OSyncChange *change;
41  OSyncFlag *fl_has_data;
42  OSyncFlag *fl_dirty;
43  OSyncFlag *fl_mapped;
44  OSyncFlag *fl_has_info;
45  OSyncFlag *fl_synced;
46  OSyncFlag *fl_deleted;
47  OSyncFlag *fl_read;
48  OSyncFlag *fl_committed;
49 };
50 #endif
51 
52 OSyncMappingTable *osengine_mappingtable_new(OSyncEngine *engine);
53 void osengine_mappingtable_free(OSyncMappingTable *table);
54 OSyncMappingEntry *osengine_mappingtable_store_change(OSyncMappingTable *table, OSyncChange *change);
55 OSyncMapping *osengine_mappingtable_find_mapping(OSyncMappingTable *table, OSyncChange *change);
56 OSyncMappingView *osengine_mappingtable_find_view(OSyncMappingTable *table, OSyncMember *member);
57 void osengine_mappingtable_add_mapping(OSyncMappingTable *table, OSyncMapping *mapping);
58 osync_bool osengine_mappingtable_load(OSyncMappingTable *table, OSyncError **error);
59 OSyncMappingTable *_osengine_mappingtable_load_group(OSyncGroup *group);
60 void osengine_mappingtable_close(OSyncMappingTable *table);
61 long long int osengine_mappingtable_get_next_id(OSyncMappingTable *table);
62 void osengine_mappingtable_reset(OSyncMappingTable *table);
63 void osengine_mappingtable_inject_changes(OSyncMappingTable *table);
64 
65 OSyncMapping *osengine_mapping_new(OSyncMappingTable *table);
66 void osengine_mapping_free(OSyncMapping *mapping);
67 void osengine_mapping_add_entry(OSyncMapping *mapping, OSyncMappingEntry *entry);
68 void osengine_mapping_remove_entry(OSyncMapping *mapping, OSyncMappingEntry *entry);
69 OSyncMappingEntry *osengine_mapping_find_entry(OSyncMapping *mapping, OSyncChange *change, OSyncMappingView *view);
70 OSyncMappingEntry *osengine_mapping_nth_entry(OSyncMapping *mapping, int nth);
71 void osengine_mapping_reset(OSyncMapping *mapping);
72 void osengine_mapping_delete(OSyncMapping *mapping);
73 
74 OSyncMappingView *osengine_mappingview_new(OSyncMappingTable *table, OSyncClient *client);
75 OSyncMappingEntry *osengine_mappingview_store_change(OSyncMappingView *view, OSyncChange *change);
76 osync_bool osengine_mappingview_uid_is_unique(OSyncMappingView *view, OSyncMappingEntry *entry, osync_bool spare_deleted);
77 void osengine_mappingview_add_entry(OSyncMappingView *view, OSyncMappingEntry *entry);
78 void osengine_mappingview_reset(OSyncMappingView *view);
79 void osengine_mappingview_free(OSyncMappingView *view);
80 
81 void osengine_mappingentry_update(OSyncMappingEntry *entry, OSyncChange *change);
82 OSyncMappingEntry *osengine_mappingentry_new(OSyncMapping *mapping);
83 void osengine_mappingentry_reset(OSyncMappingEntry *entry);
84 void osengine_mappingentry_free(OSyncMappingEntry *entry);
85 OSyncMapping *osengine_mappingtable_mapping_from_id(OSyncMappingTable *table, long long id);
86 OSyncMappingEntry *osengine_mappingentry_copy(OSyncMappingEntry *entry);
87