00001
00002 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00003 struct OSyncClient {
00004 OSyncMember *member;
00005 OSyncQueue *commands_to_osplugin;
00006 OSyncQueue *commands_from_osplugin;
00007 OSyncEngine *engine;
00008
00009 OSyncFlag *fl_connected;
00010 OSyncFlag *fl_sent_changes;
00011 OSyncFlag *fl_done;
00012 OSyncFlag *fl_finished;
00013 OSyncFlag *fl_committed_all;
00014
00015 pid_t child_pid;
00016
00017 };
00018 #endif
00019
00020 typedef void (* OSyncPluginReplyHandler) (void *, void *, OSyncError *);
00021
00022 typedef struct OSyncPluginCallContext {
00023 OSyncPluginReplyHandler handler;
00024 void *userdata;
00025 } OSyncPluginCallContext;
00026
00027 OSyncClient *osync_client_new(OSyncEngine *engine, OSyncMember *member, OSyncError **error);
00028 void osync_client_free(OSyncClient *client);
00029
00030 osync_bool osync_client_spawn(OSyncClient *client, OSyncEngine *engine, OSyncError **error);
00031 OSyncEngine *osync_client_get_engine(OSyncClient *client);
00032 void osync_client_call_plugin(OSyncClient *client, char *function, void *data, OSyncPluginReplyHandler replyhandler, void *userdata);
00033
00034 osync_bool osync_client_init(OSyncClient *client, OSyncEngine *engine, OSyncError **error);
00035 osync_bool osync_client_finalize(OSyncClient *client, OSyncError **error);
00036 OSyncPluginTimeouts osync_client_get_timeouts(OSyncClient *client);
00037 void osync_client_reset(OSyncClient *client);
00038
00039 osync_bool osync_client_connect(OSyncClient *target, OSyncEngine *sender, OSyncError **error);
00040 osync_bool osync_client_get_changes(OSyncClient *target, OSyncEngine *sender, OSyncError **error);
00041 osync_bool osync_client_committed_all(OSyncClient *target, OSyncEngine *sender, OSyncError **error);
00042 osync_bool osync_client_sync_done(OSyncClient *target, OSyncEngine *sender, OSyncError **error);
00043 osync_bool osync_client_disconnect(OSyncClient *target, OSyncEngine *sender, OSyncError **error);
00044 osync_bool osync_client_commit_change(OSyncClient *target, OSyncEngine *sender, OSyncMappingEntry *entry, OSyncError **error);
00045 osync_bool osync_client_get_change_data(OSyncClient *target, OSyncEngine *sender, OSyncMappingEntry *entry, OSyncError **error);