00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _OPENSYNC_MESSAGES_H
00022 #define _OPENSYNC_MESSAGES_H
00023
00034
00038 typedef enum {
00039 OSYNC_MESSAGE_NOOP,
00040 OSYNC_MESSAGE_CONNECT,
00041 OSYNC_MESSAGE_CONNECT_DONE,
00042 OSYNC_MESSAGE_DISCONNECT,
00043 OSYNC_MESSAGE_GET_CHANGES,
00044 OSYNC_MESSAGE_READ_CHANGE,
00045 OSYNC_MESSAGE_COMMIT_CHANGE,
00046 OSYNC_MESSAGE_COMMITTED_ALL,
00047 OSYNC_MESSAGE_SYNC_DONE,
00048 OSYNC_MESSAGE_CALL_PLUGIN,
00049 OSYNC_MESSAGE_NEW_CHANGE,
00050 OSYNC_MESSAGE_REPLY,
00051 OSYNC_MESSAGE_ERRORREPLY,
00052 OSYNC_MESSAGE_INITIALIZE,
00053 OSYNC_MESSAGE_FINALIZE,
00054 OSYNC_MESSAGE_DISCOVER,
00055 OSYNC_MESSAGE_SYNCHRONIZE,
00056 OSYNC_MESSAGE_ENGINE_CHANGED,
00057 OSYNC_MESSAGE_MAPPING_CHANGED,
00058 OSYNC_MESSAGE_MAPPINGENTRY_CHANGED,
00059 OSYNC_MESSAGE_ERROR,
00060 OSYNC_MESSAGE_QUEUE_ERROR,
00061 OSYNC_MESSAGE_QUEUE_HUP
00062 } OSyncMessageCommand;
00063
00070 typedef void (*OSyncMessageHandler)(OSyncMessage *message, void *user_data);
00071
00080 OSYNC_EXPORT OSyncMessage *osync_message_new(OSyncMessageCommand cmd, unsigned int size, OSyncError **error);
00081
00089 OSYNC_EXPORT OSyncMessage *osync_message_new_reply(OSyncMessage *message, OSyncError **error);
00090
00098 OSYNC_EXPORT OSyncMessage *osync_message_new_errorreply(OSyncMessage *message, OSyncError *error, OSyncError **loc_error);
00099
00106 OSYNC_EXPORT OSyncMessage *osync_message_new_error(OSyncError *error, OSyncError **loc_error);
00107
00114 OSYNC_EXPORT OSyncMessage *osync_message_new_queue_error(OSyncError *error, OSyncError **loc_error);
00115
00122 OSYNC_EXPORT OSyncMessage *osync_message_ref(OSyncMessage *message);
00123
00129 OSYNC_EXPORT void osync_message_unref(OSyncMessage *message);
00130
00137 OSYNC_EXPORT void osync_message_set_cmd(OSyncMessage *message, OSyncMessageCommand cmd);
00138
00144 OSYNC_EXPORT OSyncMessageCommand osync_message_get_cmd(OSyncMessage *message);
00145
00152 OSYNC_EXPORT void osync_message_set_id(OSyncMessage *message, long long int id);
00153
00160 OSYNC_EXPORT long long int osync_message_get_id(OSyncMessage *message);
00161
00169 OSYNC_TEST_EXPORT OSyncMarshal *osync_message_get_marshal(OSyncMessage *message);
00170
00177 OSYNC_EXPORT unsigned int osync_message_get_message_size(OSyncMessage *message);
00178
00185 OSYNC_EXPORT void osync_message_set_message_size(OSyncMessage *message, unsigned int size);
00186
00194 OSYNC_EXPORT void osync_message_get_buffer(OSyncMessage *message, char **data, unsigned int *size);
00195
00203 OSYNC_EXPORT void osync_message_set_handler(OSyncMessage *message, OSyncMessageHandler handler, void *user_data);
00204
00211 OSYNC_EXPORT OSyncMessageHandler osync_message_get_handler(OSyncMessage *message);
00212
00219 OSYNC_EXPORT void *osync_message_get_handler_data(OSyncMessage *message);
00220
00227 OSYNC_EXPORT osync_bool osync_message_is_error(OSyncMessage *message);
00228
00236 OSYNC_EXPORT OSyncMessageCommand osync_message_get_command(OSyncMessage *message);
00237
00243 OSYNC_EXPORT char* osync_message_get_commandstr(OSyncMessage *message);
00244
00251 OSYNC_EXPORT osync_bool osync_message_is_answered(OSyncMessage *message);
00252
00258 OSYNC_EXPORT void osync_message_set_answered(OSyncMessage *message);
00259
00265 OSYNC_EXPORT void osync_message_write_int(OSyncMessage *message, int value);
00266
00272 OSYNC_EXPORT void osync_message_write_uint(OSyncMessage *message, unsigned int value);
00273
00279 OSYNC_EXPORT void osync_message_write_long_long_int(OSyncMessage *message, long long int value);
00280
00286 OSYNC_EXPORT void osync_message_write_string(OSyncMessage *message, const char *value);
00287
00297 OSYNC_EXPORT void osync_message_write_data(OSyncMessage *message, const void *value, int size);
00298
00306 OSYNC_EXPORT void osync_message_write_buffer(OSyncMessage *message, const void *value, int size);
00307
00314 OSYNC_EXPORT void osync_message_read_int(OSyncMessage *message, int *value);
00315
00322 OSYNC_EXPORT void osync_message_read_uint(OSyncMessage *message, unsigned int *value);
00323
00330 OSYNC_EXPORT void osync_message_read_long_long_int(OSyncMessage *message, long long int *value);
00331
00339 OSYNC_EXPORT void osync_message_read_string(OSyncMessage *message, char **value);
00340
00349 OSYNC_EXPORT void osync_message_read_data(OSyncMessage *message, void *value, int size);
00350
00358 OSYNC_EXPORT void osync_message_read_const_data(OSyncMessage *message, void **value, int size);
00359
00366 OSYNC_EXPORT void osync_message_read_const_string(OSyncMessage *message, char **value);
00367
00376 OSYNC_EXPORT void osync_message_read_buffer(OSyncMessage *message, void **value, int *size);
00377
00380 #endif