00001
00005 typedef enum {
00007 MEMBER_CONNECTED,
00009 MEMBER_SENT_CHANGES,
00011 MEMBER_COMMITTED_ALL,
00013 MEMBER_DISCONNECTED,
00015 MEMBER_CONNECT_ERROR,
00017 MEMBER_GET_CHANGES_ERROR,
00019 MEMBER_COMMITTED_ALL_ERROR,
00021 MEMBER_SYNC_DONE_ERROR,
00023 MEMBER_DISCONNECT_ERROR
00024 } memberupdatetype;
00025
00029 typedef enum {
00031 CHANGE_RECEIVED = 1,
00033 CHANGE_RECEIVED_INFO = 2,
00035 CHANGE_SENT = 3,
00037 CHANGE_WRITE_ERROR = 4,
00039 CHANGE_RECV_ERROR = 5
00040 } changeupdatetype;
00041
00045 typedef enum {
00047 MAPPING_SOLVED = 1,
00049 MAPPING_SYNCED = 2,
00051 MAPPING_WRITE_ERROR = 3
00052 } mappingupdatetype;
00053
00057 typedef enum {
00059 ENG_ENDPHASE_CON = 1,
00061 ENG_ENDPHASE_READ = 2,
00063 ENG_ENDPHASE_WRITE = 3,
00065 ENG_ENDPHASE_DISCON = 4,
00067 ENG_ERROR = 5,
00069 ENG_SYNC_SUCCESSFULL = 6,
00071 ENG_PREV_UNCLEAN = 7,
00073 ENG_END_CONFLICTS = 8
00074 } engineupdatetype;
00075
00076
00080 typedef struct OSyncMemberUpdate {
00082 memberupdatetype type;
00084 OSyncMember *member;
00086 OSyncError *error;
00087 } OSyncMemberUpdate;
00088
00092 typedef struct OSyncChangeUpdate {
00094 changeupdatetype type;
00096 OSyncChange *change;
00098 int member_id;
00100 int mapping_id;
00102 OSyncError *error;
00103 } OSyncChangeUpdate;
00104
00108 typedef struct OSyncMappingUpdate {
00110 mappingupdatetype type;
00112 long long int winner;
00114 OSyncMapping *mapping;
00116 OSyncError *error;
00117 } OSyncMappingUpdate;
00118
00122 typedef struct OSyncEngineUpdate {
00124 engineupdatetype type;
00126 OSyncError *error;
00127 } OSyncEngineUpdate;
00128
00129
00130 void osync_status_conflict(OSyncEngine *engine, OSyncMapping *mapping);
00131 void osync_status_update_member(OSyncEngine *engine, OSyncClient *client, memberupdatetype type, OSyncError **error);
00132 void osync_status_update_change(OSyncEngine *engine, OSyncChange *change, changeupdatetype type, OSyncError **error);
00133 void osync_status_update_mapping(OSyncEngine *engine, OSyncMapping *mapping, mappingupdatetype type, OSyncError **error);
00134 void osync_status_update_engine(OSyncEngine *engine, engineupdatetype type, OSyncError **error);