You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
(56) |
Apr
(109) |
May
(15) |
Jun
(3) |
Jul
(37) |
Aug
(96) |
Sep
(40) |
Oct
(4) |
Nov
(54) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(47) |
Feb
(30) |
Mar
(102) |
Apr
(120) |
May
(68) |
Jun
(54) |
Jul
(53) |
Aug
(122) |
Sep
(190) |
Oct
(71) |
Nov
(85) |
Dec
(108) |
2007 |
Jan
(72) |
Feb
(190) |
Mar
(53) |
Apr
(101) |
May
(145) |
Jun
(148) |
Jul
(167) |
Aug
(143) |
Sep
(23) |
Oct
(198) |
Nov
(223) |
Dec
(195) |
2008 |
Jan
(100) |
Feb
(129) |
Mar
(79) |
Apr
(77) |
May
(34) |
Jun
(95) |
Jul
(112) |
Aug
(160) |
Sep
(82) |
Oct
(124) |
Nov
(199) |
Dec
(355) |
2009 |
Jan
(436) |
Feb
(89) |
Mar
(298) |
Apr
(189) |
May
(33) |
Jun
(88) |
Jul
(105) |
Aug
(44) |
Sep
(181) |
Oct
(87) |
Nov
(75) |
Dec
(1) |
2010 |
Jan
(63) |
Feb
(21) |
Mar
(3) |
Apr
(1) |
May
(1) |
Jun
(3) |
Jul
(26) |
Aug
(37) |
Sep
(26) |
Oct
(15) |
Nov
(13) |
Dec
|
From: <svn...@op...> - 2010-07-09 19:22:10
|
Author: cdfrey Date: Fri Jul 9 21:22:02 2010 New Revision: 6066 URL: http://www.opensync.org/changeset/6066 Log: Slow sync is now an argument, instead of a function call Modified: plugins/google-calendar/src/gcalendar.c Modified: plugins/google-calendar/src/gcalendar.c ============================================================================== --- plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:21:57 2010 (r6065) +++ plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:22:02 2010 (r6066) @@ -259,7 +259,7 @@ else osync_trace(TRACE_INTERNAL, "first sync!\n"); - if (osync_objtype_sink_get_slowsync(plgdata->gcal_sink)) { + if (slow_sync) { osync_trace(TRACE_INTERNAL, "\n\t\tgcal: Client asked for slow syncing...\n"); slow_sync_flag = 1; result = gcal_get_events(plgdata->calendar, &(plgdata->all_events)); @@ -407,7 +407,7 @@ else osync_trace(TRACE_INTERNAL, "first sync!\n"); - if (osync_objtype_sink_get_slowsync(sink)) { + if (slow_sync) { osync_trace(TRACE_INTERNAL, "\n\t\tgcont: Client asked for slow syncing...\n"); slow_sync_flag = 1; result = gcal_get_contacts(plgdata->contacts, &(plgdata->all_contacts)); |
From: <svn...@op...> - 2010-07-09 19:22:06
|
Author: cdfrey Date: Fri Jul 9 21:21:57 2010 New Revision: 6065 URL: http://www.opensync.org/changeset/6065 Log: Updated for the anchor -> state_db API change Modified: plugins/google-calendar/src/gcalendar.c Modified: plugins/google-calendar/src/gcalendar.c ============================================================================== --- plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:21:51 2010 (r6064) +++ plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:21:57 2010 (r6065) @@ -242,13 +242,13 @@ int result = 0, i; char *timestamp = NULL, *msg, *raw_xml = NULL; gcal_event event; - OSyncError *anchor_error = NULL; + OSyncError *state_db_error = NULL; - if (!(osync_objtype_sink_get_anchor(plgdata->gcal_sink))) + if (!(osync_objtype_sink_get_state_db(sink))) goto error; - timestamp = osync_anchor_retrieve(osync_objtype_sink_get_anchor(plgdata->gcal_sink), - &anchor_error); + timestamp = osync_sink_state_get(osync_objtype_sink_get_state_db(sink), + "cal_timestamp", &state_db_error); if (!timestamp) { msg = "gcalendar: Anchor returned is NULL!"; goto error; @@ -382,7 +382,6 @@ { osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx); char buffer[512]; - static int counter = 0; struct gc_plgdata *plgdata = data; char slow_sync_flag = 0; OSyncError *error = NULL; @@ -391,14 +390,13 @@ int result = 0, i; char *timestamp = NULL, *msg, *raw_xml = NULL; gcal_contact contact; - OSyncError *anchor_error = NULL; + OSyncError *state_db_error = NULL; - - if (!(osync_objtype_sink_get_anchor(sink))) + if (!(osync_objtype_sink_get_state_db(sink))) goto error; - timestamp = osync_sink_state_get(osync_objtype_sink_get_anchor(sink), - &anchor_error); + timestamp = osync_sink_state_get(osync_objtype_sink_get_state_db(sink), + "cont_timestamp", &state_db_error); if (!timestamp) { msg = "gcontact: Anchor returned is NULL!"; goto error; @@ -754,20 +752,22 @@ { osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx); struct gc_plgdata *plgdata = data; - OSyncError *anchor_error; + OSyncError *state_db_error; if (plgdata->calendar && plgdata->cal_timestamp) { osync_trace(TRACE_INTERNAL, "query updated timestamp: %s\n", plgdata->cal_timestamp); - osync_anchor_update(osync_objtype_sink_get_anchor(plgdata->gcal_sink), - plgdata->cal_timestamp, &anchor_error); + osync_sink_state_set(osync_objtype_sink_get_state_db(sink), + "cal_timestamp", plgdata->cal_timestamp, + &state_db_error); } if (plgdata->contacts && plgdata->cont_timestamp) { osync_trace(TRACE_INTERNAL, "query updated timestamp: %s\n", plgdata->cont_timestamp); - osync_anchor_update(osync_objtype_sink_get_anchor(plgdata->gcont_sink), - plgdata->cont_timestamp, &anchor_error); + osync_sink_state_set(osync_objtype_sink_get_state_db(sink), + "cont_timestamp", plgdata->cont_timestamp, + &state_db_error); } osync_context_report_success(ctx); |
From: <svn...@op...> - 2010-07-09 19:22:00
|
Author: cdfrey Date: Fri Jul 9 21:21:51 2010 New Revision: 6064 URL: http://www.opensync.org/changeset/6064 Log: Split gc_connect() into two functions, and got them to compile Modified: plugins/google-calendar/src/gcalendar.c Modified: plugins/google-calendar/src/gcalendar.c ============================================================================== --- plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:21:45 2010 (r6063) +++ plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:21:51 2010 (r6064) @@ -173,44 +173,59 @@ OSyncError *error = NULL; char buffer[512]; - if ((plgdata->calendar) && (counter == 0)) { - result = gcal_get_authentication(plgdata->calendar, plgdata->username, - plgdata->password); - ++counter; - if (result == -1) - goto error; - - snprintf(buffer, sizeof(buffer) - 1, "%s/gcal2osync.xslt", - plgdata->xslt_path); - if ((result = xslt_initialize(plgdata->xslt_ctx_gcal, buffer))) - goto error; - osync_trace(TRACE_INTERNAL, "\ndone calendar: %s\n", buffer); - } - - if (((plgdata->contacts) && (counter == 1)) || - ((plgdata->gcont_sink) && (!plgdata->gcal_sink))) { - result = gcal_get_authentication(plgdata->contacts, plgdata->username, - plgdata->password); - counter++; - if (result == -1) - goto error; - - snprintf(buffer, sizeof(buffer) - 1, "%s/gcont2osync.xslt", - plgdata->xslt_path); - if ((result = xslt_initialize(plgdata->xslt_ctx_gcont, buffer))) - goto error; - osync_trace(TRACE_INTERNAL, "\ndone contact: %s\n", buffer); - } + result = gcal_get_authentication(plgdata->calendar, plgdata->username, + plgdata->password); + if (result == -1) + goto error; + + snprintf(buffer, sizeof(buffer) - 1, "%s/gcal2osync.xslt", + plgdata->xslt_path); + if ((result = xslt_initialize(plgdata->xslt_ctx_gcal, buffer))) + goto error; + osync_trace(TRACE_INTERNAL, "\ndone calendar: %s\n", buffer); osync_context_report_success(ctx); osync_trace(TRACE_EXIT, "%s", __func__); return; error: - osync_trace(TRACE_INTERNAL, "Failed to load xslt stylesheet!\n"); + osync_trace(TRACE_INTERNAL, + "Failed to load gcal2osync.xslt stylesheet!\n"); osync_error_set(&error, OSYNC_ERROR_GENERIC, - "Unable load xslt stylesheet data."); - osync_context_report_osyncerror(ctx, &error); + "Unable load gcal2osync.xslt stylesheet data."); + osync_context_report_osyncerror(ctx, error); +} + +static void gc_connect_contact(OSyncObjTypeSink *sink, OSyncPluginInfo *info, + OSyncContext *ctx, void *data) +{ + osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx); + int result; + struct gc_plgdata *plgdata = data; + OSyncError *error = NULL; + char buffer[512]; + + result = gcal_get_authentication(plgdata->contacts, plgdata->username, + plgdata->password); + if (result == -1) + goto error; + + snprintf(buffer, sizeof(buffer) - 1, "%s/gcont2osync.xslt", + plgdata->xslt_path); + if ((result = xslt_initialize(plgdata->xslt_ctx_gcont, buffer))) + goto error; + osync_trace(TRACE_INTERNAL, "\ndone contact: %s\n", buffer); + + osync_context_report_success(ctx); + osync_trace(TRACE_EXIT, "%s", __func__); + return; + +error: + osync_trace(TRACE_INTERNAL, + "Failed to load gcont2osync.xslt stylesheet!\n"); + osync_error_set(&error, OSYNC_ERROR_GENERIC, + "Unable load gcont2osync.xslt stylesheet data."); + osync_context_report_osyncerror(ctx, error); } static void gc_get_changes_calendar(OSyncObjTypeSink *sink, |
From: <svn...@op...> - 2010-07-09 19:21:52
|
Author: cdfrey Date: Fri Jul 9 21:21:45 2010 New Revision: 6063 URL: http://www.opensync.org/changeset/6063 Log: Updated gc_discover() to enable all sinks by loop We don't store the sink pointers anymore, so just enable them all. Enabling and disabling by config still overrides this, as far as I know Modified: plugins/google-calendar/src/gcalendar.c Modified: plugins/google-calendar/src/gcalendar.c ============================================================================== --- plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:21:39 2010 (r6062) +++ plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:21:45 2010 (r6063) @@ -962,12 +962,12 @@ { osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, error); - struct gc_plgdata *plgdata = data; - - if (plgdata->calendar) - osync_objtype_sink_set_available(plgdata->gcal_sink, TRUE); - if (plgdata->contacts) - osync_objtype_sink_set_available(plgdata->gcont_sink, TRUE); + OSyncList *sinks = osync_plugin_info_get_objtype_sinks(info); + OSyncList *s = sinks; + for( ; s; s = s->next ) { + OSyncObjTypeSink *sink = (OSyncObjTypeSink*) s->data; + osync_objtype_sink_set_available(sink, TRUE); + } OSyncVersion *version = osync_version_new(error); osync_version_set_plugin(version, "google-data"); |
From: <svn...@op...> - 2010-07-09 19:21:48
|
Author: cdfrey Date: Fri Jul 9 21:21:39 2010 New Revision: 6062 URL: http://www.opensync.org/changeset/6062 Log: Updated gc_initialize() to latest API Removed the struct style of registering callbacks, using the set_() API Using the authentication API for fetching username and password Modified: plugins/google-calendar/src/gcalendar.c Modified: plugins/google-calendar/src/gcalendar.c ============================================================================== --- plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:21:33 2010 (r6061) +++ plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:21:39 2010 (r6062) @@ -777,154 +777,175 @@ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, plugin, info, error); struct gc_plgdata *plgdata; OSyncPluginConfig *config; - OSyncPluginAuthentication *auth; - OSyncPluginAdvancedOption *advanced; OSyncList *resources; OSyncList *r; - const char *objtype, *tmp; - int i, numobjs; + const char *xslt_config; - //osync_error_set(error, OSYNC_ERROR_GENERIC, "no msg"); plgdata = osync_try_malloc0(sizeof(struct gc_plgdata), error); config = osync_plugin_info_get_config(info); - if ((!plgdata) || (!config)) { + if( (!plgdata) || (!config) ) { osync_error_set(error, OSYNC_ERROR_GENERIC, "Unable to get config data."); goto error_freeplg; } - advanced = osync_plugin_config_get_advancedoption_value_by_name(config, "xslt"); - if (!advanced) { + xslt_config = osync_plugin_config_get_advancedoption_value_by_name(config, "xslt"); + if( !xslt_config ) { osync_trace(TRACE_INTERNAL, "Cannot locate xslt config!\n"); goto error_freeplg; } - if (!(plgdata->xslt_path = strdup(osync_plugin_advancedoption_get_value(advanced)))) + plgdata->xslt_path = strdup(xslt_config); + if( !plgdata->xslt_path ) goto error_freeplg; resources = osync_plugin_config_get_resources(config); - numobjs = osync_plugin_info_num_objtypes(info); - - for (i = 1, r = resources; r; r = r->next, i++) { - osync_trace(TRACE_INTERNAL, "field: %s\n", osync_plugin_resource_get_objtype(r->data)); - if (!(strcmp(osync_plugin_resource_get_objtype(r->data), "event"))) - if (!(plgdata->calendar = gcal_new(GCALENDAR))) + for( r = resources; r; r = r->next ) { + osync_trace(TRACE_INTERNAL, "field: %s\n", + osync_plugin_resource_get_objtype(r->data)); + + if( !strcmp(osync_plugin_resource_get_objtype(r->data), "event") ) { + plgdata->calendar = gcal_new(GCALENDAR); + if( !plgdata->calendar ) goto error_freeplg; else { - osync_trace(TRACE_INTERNAL, "\tcreated calendar obj!\n"); + osync_trace(TRACE_INTERNAL, + "\tcreated calendar obj!\n"); gcal_set_store_xml(plgdata->calendar, 1); } + } - if (!(strcmp(osync_plugin_resource_get_objtype(r->data), "contact"))) - if (!(plgdata->contacts = gcal_new(GCONTACT))) + if( !strcmp(osync_plugin_resource_get_objtype(r->data), "contact") ) { + plgdata->contacts = gcal_new(GCONTACT); + if( !plgdata->contacts ) goto error_freeplg; else { - osync_trace(TRACE_INTERNAL, "\tcreated contact obj!\n"); + osync_trace(TRACE_INTERNAL, + "\tcreated contact obj!\n"); gcal_set_store_xml(plgdata->contacts, 1); } + } } - // TODO: how works resource policy? For while, copy everything... - for (i = 0; i < numobjs; i++) { - - if (!plgdata->username) { - auth = osync_plugin_config_get_authentication(config); - tmp = osync_plugin_authentication_get_username(auth); - if (!tmp) - goto error_freeplg; - else - if (!(plgdata->username = strdup(tmp))) - goto error_freeplg; - - } + // Fetch username + OSyncPluginAuthentication *optauth = NULL; + optauth = osync_plugin_config_get_authentication(config); + if( osync_plugin_authentication_option_is_supported(optauth, + OSYNC_PLUGIN_AUTHENTICATION_USERNAME) ) { + const char *user = + osync_plugin_authentication_get_username(optauth); + if( !user ) + goto error_freeplg; - if (!plgdata->password) { - tmp = osync_plugin_authentication_get_password(auth); - if (!tmp) - goto error_freeplg; - else - if (!(plgdata->password = strdup(tmp))) - goto error_freeplg; + plgdata->username = strdup(user); + if( !plgdata->username ) + goto error_freeplg; + } + else { + goto error_freeplg; + } - } - // TODO: get proxy/calendar title/resources/etc + // Fetch password + if( osync_plugin_authentication_option_is_supported(optauth, + OSYNC_PLUGIN_AUTHENTICATION_PASSWORD) ) { + const char *pass = + osync_plugin_authentication_get_password(optauth); + if( !pass ) + goto error_freeplg; + plgdata->password = strdup(pass); + if( !plgdata->password ) + goto error_freeplg; + } + else { + goto error_freeplg; } - OSyncObjTypeSinkFunctions functions_gcal; - memset(&functions_gcal, 0, sizeof(functions_gcal)); - functions_gcal.connect = gc_connect; - functions_gcal.get_changes = gc_get_changes_calendar; - functions_gcal.commit = gc_commit_change_calendar; - functions_gcal.disconnect = gc_disconnect; - functions_gcal.sync_done = gc_sync_done; + // TODO: get proxy/calendar title/resources/etc + + // Register calendar sink + OSyncObjTypeSink *sink = NULL; + sink = osync_plugin_info_find_objtype(info, "event"); + if( !sink ) { + osync_trace(TRACE_ERROR, "%s", "Failed to find objtype event!"); + } + if( sink && osync_objtype_sink_is_enabled(sink) && plgdata->calendar ) { - if (plgdata->calendar) { osync_trace(TRACE_INTERNAL, "\tcreating calendar sink...\n"); - OSyncFormatEnv *formatenv1 = osync_plugin_info_get_format_env(info); - plgdata->gcal_format = osync_format_env_find_objformat(formatenv1, "xmlformat-event-doc"); + OSyncFormatEnv *formatenv = osync_plugin_info_get_format_env(info); + plgdata->gcal_format = osync_format_env_find_objformat(formatenv, "xmlformat-event-doc"); if (!plgdata->gcal_format) { osync_trace(TRACE_ERROR, "%s", "Failed to find objformat xmlformat-event!"); goto error_freeplg; } osync_objformat_ref(plgdata->gcal_format); - plgdata->gcal_sink = osync_plugin_info_find_objtype(info, "event"); - if (!plgdata->gcal_sink) { - osync_trace(TRACE_ERROR, "%s", "Failed to find objtype event!"); - goto error_freeplg; - } - osync_objtype_sink_set_functions(plgdata->gcal_sink, functions_gcal, plgdata); - osync_plugin_info_add_objtype(info, plgdata->gcal_sink); + osync_objtype_sink_set_connect_func(sink, gc_connect_calendar); + osync_objtype_sink_set_disconnect_func(sink, gc_disconnect); + osync_objtype_sink_set_get_changes_func(sink, + gc_get_changes_calendar); + osync_objtype_sink_set_commit_func(sink, + gc_commit_change_calendar); + osync_objtype_sink_set_sync_done_func(sink, gc_sync_done); - osync_objtype_sink_enable_anchor(plgdata->gcal_sink, TRUE); + + osync_objtype_sink_set_userdata(sink, plgdata); + osync_objtype_sink_enable_state_db(sink, TRUE); } - OSyncObjTypeSinkFunctions functions_gcont; - memset(&functions_gcont, 0, sizeof(functions_gcont)); - functions_gcont.connect = gc_connect; - functions_gcont.get_changes = gc_get_changes_contact; - functions_gcont.commit = gc_commit_change_contact; - functions_gcont.disconnect = gc_disconnect; - functions_gcont.sync_done = gc_sync_done; - if (plgdata->contacts) { + + + + // Register contact sink + sink = NULL; + sink = osync_plugin_info_find_objtype(info, "contact"); + if( !sink ) { + osync_trace(TRACE_ERROR, "%s", "Failed to find objtype contact!"); + } + if( sink && osync_objtype_sink_is_enabled(sink) && plgdata->contacts ) { + osync_trace(TRACE_INTERNAL, "\tcreating contact sink...\n"); - OSyncFormatEnv *formatenv2 = osync_plugin_info_get_format_env(info); - plgdata->gcont_format = osync_format_env_find_objformat(formatenv2, "xmlformat-contact-doc"); + OSyncFormatEnv *formatenv = osync_plugin_info_get_format_env(info); + plgdata->gcont_format = osync_format_env_find_objformat(formatenv, "xmlformat-contact-doc"); if (!plgdata->gcont_format) { osync_trace(TRACE_ERROR, "%s", "Failed to find objformat xmlformat-contact!"); goto error_freeplg; } osync_objformat_ref(plgdata->gcont_format); - plgdata->gcont_sink = osync_plugin_info_find_objtype(info, "contact"); - if (!plgdata->gcont_sink) { - osync_trace(TRACE_ERROR, "%s", "Failed to find objtype contact!"); - goto error_freeplg; - } - osync_objtype_sink_set_functions(plgdata->gcont_sink, functions_gcont, plgdata); - osync_objtype_sink_enable_anchor(plgdata->gcont_sink, TRUE); - osync_plugin_info_add_objtype(info, plgdata->gcont_sink); + osync_objtype_sink_set_connect_func(sink, gc_connect_contact); + osync_objtype_sink_set_disconnect_func(sink, gc_disconnect); + osync_objtype_sink_set_get_changes_func(sink, + gc_get_changes_contact); + osync_objtype_sink_set_commit_func(sink, + gc_commit_change_contact); + osync_objtype_sink_set_sync_done_func(sink, gc_sync_done); + + osync_objtype_sink_set_userdata(sink, plgdata); + osync_objtype_sink_enable_state_db(sink, TRUE); } - if (plgdata->calendar) + + if( plgdata->calendar ) { if (!(plgdata->xslt_ctx_gcal = xslt_new())) goto error_freeplg; else osync_trace(TRACE_INTERNAL, "\tsucceed creating xslt_gcal!\n"); + } - if (plgdata->contacts) + if( plgdata->contacts ) { if (!(plgdata->xslt_ctx_gcont = xslt_new())) goto error_freeplg; else osync_trace(TRACE_INTERNAL, "\tsucceed creating xslt_gcont!\n"); + } osync_trace(TRACE_EXIT, "%s", __func__); @@ -933,7 +954,6 @@ error_freeplg: if (plgdata) free_plg(plgdata); -out: osync_trace(TRACE_EXIT_ERROR, "%s: %s", __func__, osync_error_print(error)); return NULL; } |
From: <svn...@op...> - 2010-07-09 19:21:41
|
Author: cdfrey Date: Fri Jul 9 21:21:33 2010 New Revision: 6061 URL: http://www.opensync.org/changeset/6061 Log: Updated get_sync_info() to match new API Modified: plugins/google-calendar/src/gcalendar.c Modified: plugins/google-calendar/src/gcalendar.c ============================================================================== --- plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:16:38 2010 (r6060) +++ plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:21:33 2010 (r6061) @@ -971,26 +971,28 @@ { osync_trace(TRACE_ENTRY, "%s(%p, %p)", __func__, env, error); OSyncPlugin *plugin = osync_plugin_new(error); - if (!plugin) + if( !plugin ) goto error; osync_plugin_set_name(plugin, "google-data"); osync_plugin_set_longname(plugin, "Google calendar/plugin"); - osync_plugin_set_description(plugin, "Google calendar and contacts plugin"); + osync_plugin_set_description(plugin, + "Google calendar and contacts plugin"); osync_plugin_set_initialize(plugin, gc_initialize); osync_plugin_set_finalize(plugin, gc_finalize); osync_plugin_set_discover(plugin, gc_discover); - osync_plugin_env_register_plugin(env, plugin); + if( !osync_plugin_env_register_plugin(env, plugin, error) ) + goto error; osync_plugin_unref(plugin); osync_trace(TRACE_EXIT, "%s", __func__); return TRUE; error: - osync_trace(TRACE_EXIT_ERROR, "Unable to register: %s", osync_error_print(error)); - osync_error_unref(error); + osync_trace(TRACE_EXIT_ERROR, "Unable to register: %s", + osync_error_print(error)); return FALSE; } |
From: <svn...@op...> - 2010-07-09 19:16:47
|
Author: cdfrey Date: Fri Jul 9 21:16:38 2010 New Revision: 6060 URL: http://www.opensync.org/changeset/6060 Log: Preliminary repairing of function prototypes Modified: plugins/google-calendar/src/gcalendar.c Modified: plugins/google-calendar/src/gcalendar.c ============================================================================== --- plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:16:32 2010 (r6059) +++ plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:16:38 2010 (r6060) @@ -55,6 +55,25 @@ #include <time.h> #include <sys/time.h> +static void gc_connect_calendar(OSyncObjTypeSink *sink, OSyncPluginInfo *info, + OSyncContext *ctx, void *data); +static void gc_connect_contact(OSyncObjTypeSink *sink, OSyncPluginInfo *info, + OSyncContext *ctx, void *data); +static void gc_get_changes_calendar(OSyncObjTypeSink *sink, + OSyncPluginInfo *info, OSyncContext *ctx, + osync_bool slow_sync, void *data); +static void gc_get_changes_contact(OSyncObjTypeSink *sink, + OSyncPluginInfo *info, OSyncContext *ctx, + osync_bool slow_sync, void *data); +static void gc_commit_change_calendar(OSyncObjTypeSink *sink, + OSyncPluginInfo *info, OSyncContext *ctx, + OSyncChange *change, void *data); +static void gc_commit_change_contact(OSyncObjTypeSink *sink, + OSyncPluginInfo *info, OSyncContext *ctx, + OSyncChange *change, void *data); +static void gc_sync_done(OSyncObjTypeSink *sink, OSyncPluginInfo *info, + OSyncContext *ctx, void *data); + static int timestamp_cmp(char *timestamp1, char *timestamp2) { // timestamp (RFC3339) formating string @@ -145,7 +164,8 @@ g_free(plgdata); } -static void gc_connect(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, void *data) +static void gc_connect_calendar(OSyncObjTypeSink *sink, OSyncPluginInfo *info, + OSyncContext *ctx, void *data) { osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx); int result; @@ -193,8 +213,9 @@ osync_context_report_osyncerror(ctx, &error); } -static void gc_get_changes_calendar(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, - osync_bool slow_sync, void *data) +static void gc_get_changes_calendar(OSyncObjTypeSink *sink, + OSyncPluginInfo *info, OSyncContext *ctx, + osync_bool slow_sync, void *data) { osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx); char buffer[512]; @@ -340,8 +361,9 @@ } -static void gc_get_changes_contact(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, - osync_bool slow_sync, void *data) +static void gc_get_changes_contact(OSyncObjTypeSink *sink, + OSyncPluginInfo *info, OSyncContext *ctx, + osync_bool slow_sync, void *data) { osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx); char buffer[512]; @@ -488,10 +510,12 @@ osync_context_report_error(ctx, OSYNC_ERROR_GENERIC, msg); } -static void gc_commit_change_calendar(OSyncObjTypeSink *sink, OSyncPluginInfo *info, - OSyncContext *ctx, OSyncChange *change, void *data) +static void gc_commit_change_calendar(OSyncObjTypeSink *sink, + OSyncPluginInfo *info, OSyncContext *ctx, + OSyncChange *change, void *data) { - osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx, change); + osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p, %p)", __func__, sink, + info, ctx, change, data); osync_trace(TRACE_INTERNAL, "hello, from calendar!\n"); //OSyncObjTypeSink *sink = osync_plugin_info_get_sink(info); struct gc_plgdata *plgdata = data; @@ -598,10 +622,12 @@ osync_trace(TRACE_EXIT, "%s:%sHTTP code: %d", __func__, msg, result); } -static void gc_commit_change_contact(void *data, OSyncPluginInfo *info, - OSyncContext *ctx, OSyncChange *change) +static void gc_commit_change_contact(OSyncObjTypeSink *sink, + OSyncPluginInfo *info, OSyncContext *ctx, + OSyncChange *change, void *data) { - osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx, change); + osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p, %p)", __func__, sink, + info, ctx, change, data); osync_trace(TRACE_INTERNAL, "hello, from contacts!\n"); struct gc_plgdata *plgdata = data; @@ -708,7 +734,8 @@ osync_trace(TRACE_EXIT, "%s:%sHTTP code: %d", __func__, msg, result); } -static void gc_sync_done(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, void *data) +static void gc_sync_done(OSyncObjTypeSink *sink, OSyncPluginInfo *info, + OSyncContext *ctx, void *data) { osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx); struct gc_plgdata *plgdata = data; @@ -731,13 +758,18 @@ osync_context_report_success(ctx); } -static void gc_disconnect(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, void *data) +static void gc_disconnect(OSyncObjTypeSink *sink, OSyncPluginInfo *info, + OSyncContext *ctx, void *data) { osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx); osync_context_report_success(ctx); osync_trace(TRACE_EXIT, "%s", __func__); } + +///////////////////////////////////////////////////////////////////////////// +// Plugin API + static void *gc_initialize(OSyncPlugin *plugin, OSyncPluginInfo *info, OSyncError **error) |
From: <svn...@op...> - 2010-07-09 19:16:40
|
Author: cdfrey Date: Fri Jul 9 21:16:32 2010 New Revision: 6059 URL: http://www.opensync.org/changeset/6059 Log: Removed storage of sink pointers in environment, since new API passes it in Modified: plugins/google-calendar/src/gcalendar.c Modified: plugins/google-calendar/src/gcalendar.c ============================================================================== --- plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:16:26 2010 (r6058) +++ plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:16:32 2010 (r6059) @@ -103,10 +103,8 @@ struct gcal_event_array all_events; struct gcal_contact_array all_contacts; // calendar sink/format - OSyncObjTypeSink *gcal_sink; OSyncObjFormat *gcal_format; // contact sink/format - OSyncObjTypeSink *gcont_sink; OSyncObjFormat *gcont_format; // XSLT context resource struct struct xslt_resources *xslt_ctx_gcal; @@ -142,8 +140,6 @@ xmlFree(plgdata->username); if (plgdata->password) xmlFree(plgdata->password); - if (plgdata->gcal_sink) - osync_objtype_sink_unref(plgdata->gcal_sink); if (plgdata->gcal_format) osync_objformat_unref(plgdata->gcal_format); g_free(plgdata); @@ -152,7 +148,6 @@ static void gc_connect(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, void *data) { osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx); - static int counter = 0; int result; struct gc_plgdata *plgdata = data; OSyncError *error = NULL; @@ -213,8 +208,6 @@ gcal_event event; OSyncError *anchor_error = NULL; - if (!(plgdata->gcal_sink = osync_plugin_info_get_sink(info))) - goto error; if (!(osync_objtype_sink_get_anchor(plgdata->gcal_sink))) goto error; @@ -298,7 +291,7 @@ if (!(chg = osync_change_new(&error))) goto cleanup; - osync_data_set_objtype(odata, osync_objtype_sink_get_name(plgdata->gcal_sink)); + osync_data_set_objtype(odata, osync_objtype_sink_get_name(sink)); osync_change_set_data(chg, odata); osync_data_unref(odata); @@ -363,13 +356,11 @@ gcal_contact contact; OSyncError *anchor_error = NULL; - if (!(plgdata->gcont_sink = osync_plugin_info_get_sink(info))) - goto error; - if (!(osync_objtype_sink_get_anchor(plgdata->gcont_sink))) + if (!(osync_objtype_sink_get_anchor(sink))) goto error; - timestamp = osync_anchor_retrieve(osync_objtype_sink_get_anchor(plgdata->gcont_sink), + timestamp = osync_sink_state_get(osync_objtype_sink_get_anchor(sink), &anchor_error); if (!timestamp) { msg = "gcontact: Anchor returned is NULL!"; @@ -381,7 +372,7 @@ else osync_trace(TRACE_INTERNAL, "first sync!\n"); - if (osync_objtype_sink_get_slowsync(plgdata->gcont_sink)) { + if (osync_objtype_sink_get_slowsync(sink)) { osync_trace(TRACE_INTERNAL, "\n\t\tgcont: Client asked for slow syncing...\n"); slow_sync_flag = 1; result = gcal_get_contacts(plgdata->contacts, &(plgdata->all_contacts)); @@ -450,7 +441,7 @@ if (!(chg = osync_change_new(&error))) goto cleanup; - osync_data_set_objtype(odata, osync_objtype_sink_get_name(plgdata->gcont_sink)); + osync_data_set_objtype(odata, osync_objtype_sink_get_name(sink)); osync_change_set_data(chg, odata); osync_data_unref(odata); @@ -613,7 +604,6 @@ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx, change); osync_trace(TRACE_INTERNAL, "hello, from contacts!\n"); - OSyncObjTypeSink *sink = osync_plugin_info_get_sink(info); struct gc_plgdata *plgdata = data; gcal_contact contact = NULL; int size, result; @@ -722,7 +712,6 @@ { osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx); struct gc_plgdata *plgdata = data; - //OSyncObjTypeSink *sink = osync_plugin_info_get_sink(info); OSyncError *anchor_error; if (plgdata->calendar && plgdata->cal_timestamp) { |
From: <svn...@op...> - 2010-07-09 19:16:34
|
Author: cdfrey Date: Fri Jul 9 21:16:26 2010 New Revision: 6058 URL: http://www.opensync.org/changeset/6058 Log: Fixed leak of xml data Modified: plugins/google-calendar/src/gcalendar.c Modified: plugins/google-calendar/src/gcalendar.c ============================================================================== --- plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:16:20 2010 (r6057) +++ plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:16:26 2010 (r6058) @@ -600,6 +600,9 @@ return; error: + if (updated_event) + free(updated_event); + osync_context_report_error(ctx, OSYNC_ERROR_GENERIC, msg); osync_trace(TRACE_EXIT, "%s:%sHTTP code: %d", __func__, msg, result); } @@ -708,6 +711,9 @@ return; error: + if (updated_contact) + free(updated_contact); + osync_context_report_error(ctx, OSYNC_ERROR_GENERIC, msg); osync_trace(TRACE_EXIT, "%s:%sHTTP code: %d", __func__, msg, result); } |
From: <svn...@op...> - 2010-07-09 19:16:28
|
Author: cdfrey Date: Fri Jul 9 21:16:20 2010 New Revision: 6057 URL: http://www.opensync.org/changeset/6057 Log: Moved finalize for clarity Modified: plugins/google-calendar/src/gcalendar.c Modified: plugins/google-calendar/src/gcalendar.c ============================================================================== --- plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:16:14 2010 (r6056) +++ plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:16:20 2010 (r6057) @@ -743,15 +743,6 @@ osync_trace(TRACE_EXIT, "%s", __func__); } -static void gc_finalize(void *data) -{ - osync_trace(TRACE_ENTRY, "%s(%p)", __func__, data); - struct gc_plgdata *plgdata = data; - - free_plg(plgdata); - osync_trace(TRACE_EXIT, "%s", __func__); -} - static void *gc_initialize(OSyncPlugin *plugin, OSyncPluginInfo *info, OSyncError **error) @@ -940,6 +931,15 @@ return TRUE; } +static void gc_finalize(void *data) +{ + osync_trace(TRACE_ENTRY, "%s(%p)", __func__, data); + struct gc_plgdata *plgdata = data; + + free_plg(plgdata); + osync_trace(TRACE_EXIT, "%s", __func__); +} + osync_bool get_sync_info(OSyncPluginEnv *env, OSyncError **error) { osync_trace(TRACE_ENTRY, "%s(%p, %p)", __func__, env, error); |
From: <svn...@op...> - 2010-07-09 19:16:22
|
Author: cdfrey Date: Fri Jul 9 21:16:14 2010 New Revision: 6056 URL: http://www.opensync.org/changeset/6056 Log: Changed comments to // style, to make it easier to comment out code This is mainly for the refactoring work Modified: plugins/google-calendar/src/gcalendar.c Modified: plugins/google-calendar/src/gcalendar.c ============================================================================== --- plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:16:08 2010 (r6055) +++ plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:16:14 2010 (r6056) @@ -57,7 +57,7 @@ static int timestamp_cmp(char *timestamp1, char *timestamp2) { - /* timestamp (RFC3339) formating string */ + // timestamp (RFC3339) formating string char format[] = "%FT%T"; struct tm first, second; time_t t_first, t_second; @@ -66,13 +66,14 @@ if (!timestamp1 || !timestamp2) return 1; - /* From timestamp string to time structure */ + // From timestamp string to time structure timestamp2tm(timestamp1, format, &first); timestamp2tm(timestamp2, format, &second); - /* From time structure to calendar time (since - * Epoch (00:00:00 UTC, January 1, 1970) - */ + // + // From time structure to calendar time (since + // Epoch (00:00:00 UTC, January 1, 1970) + // t_first = mktime(&first); t_second = mktime(&second); @@ -94,20 +95,20 @@ char *password; char *timezone; char *xslt_path; - /* libgcal resources */ + // libgcal resources char *cal_timestamp; char *cont_timestamp; gcal_t calendar; gcal_t contacts; struct gcal_event_array all_events; struct gcal_contact_array all_contacts; - /* calendar sink/format */ + // calendar sink/format OSyncObjTypeSink *gcal_sink; OSyncObjFormat *gcal_format; - /* contact sink/format */ + // contact sink/format OSyncObjTypeSink *gcont_sink; OSyncObjFormat *gcont_format; - /* XSLT context resource struct */ + // XSLT context resource struct struct xslt_resources *xslt_ctx_gcal; struct xslt_resources *xslt_ctx_gcont; }; @@ -255,7 +256,7 @@ plgdata->all_events.length); - /* Calendar returns most recently updated event as first element */ + // Calendar returns most recently updated event as first element event = gcal_event_element(&(plgdata->all_events), 0); if (!event) { msg = "Cannot access last updated event!\n"; @@ -274,7 +275,7 @@ osync_trace(TRACE_INTERNAL, "gevent: timestamp:%s\tevent:%s\n", timestamp, gcal_event_get_updated(event)); - /* Workaround for inclusive returned results */ + // Workaround for inclusive returned results if ((timestamp_cmp(timestamp, gcal_event_get_updated(event)) == 0) && !slow_sync_flag && !gcal_event_is_deleted(event)) { @@ -319,7 +320,7 @@ no_changes: - /* Load XSLT style to convert osync xmlformat-event --> gdata */ + // Load XSLT style to convert osync xmlformat-event --> gdata snprintf(buffer, sizeof(buffer) - 1, "%s/osync2gcal.xslt", plgdata->xslt_path); if ((result = xslt_initialize(plgdata->xslt_ctx_gcal, buffer))) { @@ -330,14 +331,14 @@ osync_trace(TRACE_INTERNAL, "\ndone calendar: %s\n", buffer); //exit: - /* osync_anchor_retrieve uses osync_strdup */ + // osync_sink_state_get uses osync_strdup osync_free(timestamp); osync_context_report_success(ctx); return; cleanup: osync_error_unref(&error); - /* osync_anchor_retrieve uses osync_strdup */ + // osync_sink_state_get uses osync_strdup osync_free(timestamp); error: @@ -406,7 +407,7 @@ osync_trace(TRACE_INTERNAL, "gcontact: changes count: %d\n", plgdata->all_contacts.length); - /* Contacts returns most recently updated entry as last element */ + // Contacts returns most recently updated entry as last element contact = gcal_contact_element(&(plgdata->all_contacts), (plgdata->all_contacts.length - 1)); if (!contact) { @@ -426,7 +427,7 @@ osync_trace(TRACE_INTERNAL, "gcontact: timestamp:%s\tcontact:%s\n", timestamp, gcal_contact_get_updated(contact)); - /* Workaround for inclusive returned results */ + // Workaround for inclusive returned results if ((timestamp_cmp(timestamp, gcal_contact_get_updated(contact)) == 0) && !slow_sync_flag && !gcal_contact_is_deleted(contact)) { @@ -471,7 +472,7 @@ no_changes: - /* Load XSLT style to convert osync xmlformat-contact --> gdata */ + // Load XSLT style to convert osync xmlformat-contact --> gdata snprintf(buffer, sizeof(buffer) - 1, "%s/osync2gcont.xslt", plgdata->xslt_path); if ((result = xslt_initialize(plgdata->xslt_ctx_gcont, buffer))) { @@ -482,14 +483,14 @@ osync_trace(TRACE_INTERNAL, "\ndone contact: %s\n", buffer); //exit: - /* osync_anchor_retrieve uses osync_strdup */ + // osync_sink_state_get uses osync_strdup osync_free(timestamp); osync_context_report_success(ctx); return; cleanup: osync_error_unref(&error); - /* osync_anchor_retrieve uses osync_strdup */ + // osync_sink_state_get uses osync_strdup osync_free(timestamp); error: @@ -519,7 +520,7 @@ goto error; } - /* Convert to gdata format */ + // Convert to gdata format if ((result = xslt_transform(plgdata->xslt_ctx_gcal, osync_xml))) { msg = "Failed converting from osync xmlevent to gcalendar\n"; goto error; @@ -576,7 +577,7 @@ free(updated_event); if (event) { - /* update the timestamp */ + // update the timestamp if (plgdata->cal_timestamp) free(plgdata->cal_timestamp); plgdata->cal_timestamp = strdup(gcal_event_get_updated(event)); @@ -585,8 +586,8 @@ goto error; } - /* FIXME: not sure if this works */ - /* Inform the new ID */ + // FIXME: not sure if this works + // Inform the new ID osync_change_set_uid(change, gcal_event_get_url(event)); gcal_event_delete(event); @@ -627,7 +628,7 @@ goto error; } - /* Convert to gdata format */ + // Convert to gdata format if ((result = xslt_transform(plgdata->xslt_ctx_gcont, osync_xml))) { msg = "Failed converting from osync xmlcontact to gcontact\n"; goto error; @@ -684,7 +685,7 @@ free(updated_contact); if (contact) { - /* update the timestamp */ + // update the timestamp if (plgdata->cont_timestamp) free(plgdata->cont_timestamp); plgdata->cont_timestamp = strdup(gcal_contact_get_updated(contact)); @@ -693,8 +694,8 @@ goto error; } - /* FIXME: not sure if this works */ - /* Inform the new ID */ + // FIXME: not sure if this works + // Inform the new ID osync_change_set_uid(change, gcal_contact_get_url(contact)); gcal_contact_delete(contact); } @@ -807,7 +808,7 @@ } - /* TODO: how works resource policy? For while, copy everything... */ + // TODO: how works resource policy? For while, copy everything... for (i = 0; i < numobjs; i++) { if (!plgdata->username) { @@ -830,7 +831,7 @@ goto error_freeplg; } - /* TODO: get proxy/calendar title/resources/etc */ + // TODO: get proxy/calendar title/resources/etc } |
From: <svn...@op...> - 2010-07-09 19:16:16
|
Author: cdfrey Date: Fri Jul 9 21:16:08 2010 New Revision: 6055 URL: http://www.opensync.org/changeset/6055 Log: Added copyright notice for my future work Modified: plugins/google-calendar/src/gcalendar.c Modified: plugins/google-calendar/src/gcalendar.c ============================================================================== --- plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:16:02 2010 (r6054) +++ plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:16:08 2010 (r6055) @@ -2,6 +2,7 @@ * * Copyright (c) 2006 Eduardo Pereira Habkost <eha...@ra...> * Copyright (c) 2008 Adenilson Cavalcanti da Silva <ade...@in...> + * Copyright (c) 2010 Chris Frey <cd...@fo...> for NetDirect Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -969,3 +970,4 @@ { return 1; } + |
From: <svn...@op...> - 2010-07-09 19:16:11
|
Author: cdfrey Date: Fri Jul 9 21:16:02 2010 New Revision: 6054 URL: http://www.opensync.org/changeset/6054 Log: Minor compiler warning fixes Modified: plugins/google-calendar/src/gcalendar.c Modified: plugins/google-calendar/src/gcalendar.c ============================================================================== --- plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:15:55 2010 (r6053) +++ plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:16:02 2010 (r6054) @@ -153,7 +153,6 @@ static int counter = 0; int result; struct gc_plgdata *plgdata = data; - //OSyncObjTypeSink *sink = osync_plugin_info_get_sink(info); OSyncError *error = NULL; char buffer[512]; @@ -202,7 +201,6 @@ { osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx); char buffer[512]; - static int counter = 0; struct gc_plgdata *plgdata = data; char slow_sync_flag = 0; OSyncError *error = NULL; @@ -247,7 +245,7 @@ goto error; } - osync_trace(TRACE_INTERNAL, "gcalendar: got then all!\n"); + osync_trace(TRACE_INTERNAL, "gcalendar: got them all!\n"); if (plgdata->all_events.length == 0) { osync_trace(TRACE_INTERNAL, "gcalendar: no changes...\n"); goto no_changes; @@ -289,7 +287,7 @@ raw_xml))) goto error; - raw_xml = plgdata->xslt_ctx_gcal->xml_str; + raw_xml = (char*) plgdata->xslt_ctx_gcal->xml_str; odata = osync_data_new(strdup(raw_xml), strlen(raw_xml), plgdata->gcal_format, &error); @@ -330,7 +328,7 @@ osync_trace(TRACE_INTERNAL, "\ndone calendar: %s\n", buffer); -exit: +//exit: /* osync_anchor_retrieve uses osync_strdup */ osync_free(timestamp); osync_context_report_success(ctx); @@ -399,7 +397,7 @@ goto error; } - osync_trace(TRACE_INTERNAL, "gcontact: got then all!\n"); + osync_trace(TRACE_INTERNAL, "gcontact: got them all!\n"); if (plgdata->all_contacts.length == 0) { osync_trace(TRACE_INTERNAL, "gcontact: no changes...\n"); goto no_changes; @@ -482,7 +480,7 @@ osync_trace(TRACE_INTERNAL, "\ndone contact: %s\n", buffer); -exit: +//exit: /* osync_anchor_retrieve uses osync_strdup */ osync_free(timestamp); osync_context_report_success(ctx); |
From: <svn...@op...> - 2010-07-09 19:16:07
|
Author: cdfrey Date: Fri Jul 9 21:15:55 2010 New Revision: 6053 URL: http://www.opensync.org/changeset/6053 Log: Compile workaround for _XOPEN_SOURCE header funkiness: strptime() Added: plugins/google-calendar/src/timestamp.c plugins/google-calendar/src/timestamp.h Modified: plugins/google-calendar/src/CMakeLists.txt plugins/google-calendar/src/gcalendar.c Modified: plugins/google-calendar/src/CMakeLists.txt ============================================================================== --- plugins/google-calendar/src/CMakeLists.txt Mon Jul 5 20:53:52 2010 (r6052) +++ plugins/google-calendar/src/CMakeLists.txt Fri Jul 9 21:15:55 2010 (r6053) @@ -2,7 +2,7 @@ LINK_DIRECTORIES( ${OPENSYNC_LIBRARY_DIRS} ${GLIB2_LIBRARY_DIRS} ${LIBXML2_LIBRARY_DIRS} ${LIBXSLT_LIBRARY_DIRS} ${LIBGCAL_LIBRARY_DIRS} ) INCLUDE_DIRECTORIES( ${OPENSYNC_INCLUDE_DIRS} ${GLIB2_INCLUDE_DIRS} ${LIBXML2_INCLUDE_DIRS} ${LIBXSLT_INCLUDE_DIRS} ${LIBGCAL_INCLUDE_DIRS} ) -OPENSYNC_PLUGIN_ADD( gcalendar gcalendar.c ) +OPENSYNC_PLUGIN_ADD( gcalendar gcalendar.c timestamp.c ) OPENSYNC_FORMAT_ADD( gdata-format gdata_format.c ) TARGET_LINK_LIBRARIES( gcalendar ${OPENSYNC_LIBRARIES} ${GLIB2_LIBRARIES} ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${LIBGCAL_LIBRARIES}) Modified: plugins/google-calendar/src/gcalendar.c ============================================================================== --- plugins/google-calendar/src/gcalendar.c Mon Jul 5 20:53:52 2010 (r6052) +++ plugins/google-calendar/src/gcalendar.c Fri Jul 9 21:15:55 2010 (r6053) @@ -26,10 +26,6 @@ * */ -#define _XOPEN_SOURCE /* man page say: glibc2 needs this */ -#include <time.h> -#include <sys/time.h> - #include <opensync/opensync.h> #include <opensync/opensync-plugin.h> #include <opensync/opensync-helper.h> @@ -54,6 +50,10 @@ #include <gcontact.h> #include "xslt_aux.h" +#include "timestamp.h" +#include <time.h> +#include <sys/time.h> + static int timestamp_cmp(char *timestamp1, char *timestamp2) { /* timestamp (RFC3339) formating string */ @@ -66,8 +66,8 @@ return 1; /* From timestamp string to time structure */ - strptime(timestamp1, format, &first); - strptime(timestamp2, format, &second); + timestamp2tm(timestamp1, format, &first); + timestamp2tm(timestamp2, format, &second); /* From time structure to calendar time (since * Epoch (00:00:00 UTC, January 1, 1970) Added: plugins/google-calendar/src/timestamp.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ plugins/google-calendar/src/timestamp.c Fri Jul 9 21:15:55 2010 (r6053) @@ -0,0 +1,9 @@ +#define _XOPEN_SOURCE /* man page say: glibc2 needs this */ +#include <time.h> +#include <sys/time.h> + +char *timestamp2tm(const char *s, const char *format, struct tm *tm) +{ + return strptime(s, format, tm); +} + Added: plugins/google-calendar/src/timestamp.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ plugins/google-calendar/src/timestamp.h Fri Jul 9 21:15:55 2010 (r6053) @@ -0,0 +1,8 @@ +#ifndef __GCAL_TIMESTAMP_H__ +#define __GCAL_TIMESTAMP_H__ + +struct tm; +char *timestamp2tm(const char *s, const char *format, struct tm *tm); + +#endif + |
From: <svn...@op...> - 2010-07-05 18:54:02
|
Author: cdfrey Date: Mon Jul 5 20:53:52 2010 New Revision: 6052 URL: http://www.opensync.org/changeset/6052 Log: Updated format strings for new long long changes Modified: osynctool/trunk/tools/osynctool.c Modified: osynctool/trunk/tools/osynctool.c ============================================================================== --- osynctool/trunk/tools/osynctool.c Mon Jul 5 20:51:38 2010 (r6051) +++ osynctool/trunk/tools/osynctool.c Mon Jul 5 20:53:52 2010 (r6052) @@ -245,28 +245,28 @@ switch (osync_engine_member_update_get_event(status)) { case OSYNC_ENGINE_MEMBER_EVENT_CONNECTED: - printf("%s of member %lli of type %s just connected\n", sink, osync_member_get_id(member), osync_member_get_pluginname(member)); + printf("%s of member %i of type %s just connected\n", sink, osync_member_get_id(member), osync_member_get_pluginname(member)); break; case OSYNC_ENGINE_MEMBER_EVENT_CONNECT_DONE: /* Special event - but not interesting for the normal user. */ break; case OSYNC_ENGINE_MEMBER_EVENT_DISCONNECTED: - printf("%s of member %lli of type %s just disconnected\n", sink, osync_member_get_id(member), osync_member_get_pluginname(member)); + printf("%s of member %i of type %s just disconnected\n", sink, osync_member_get_id(member), osync_member_get_pluginname(member)); break; case OSYNC_ENGINE_MEMBER_EVENT_READ: - printf("%s of member %lli of type %s just sent all changes\n", sink, osync_member_get_id(member), osync_member_get_pluginname(member)); + printf("%s of member %i of type %s just sent all changes\n", sink, osync_member_get_id(member), osync_member_get_pluginname(member)); break; case OSYNC_ENGINE_MEMBER_EVENT_WRITTEN: - printf("%s of member %lli of type %s committed all changes.\n", sink, osync_member_get_id(member), osync_member_get_pluginname(member)); + printf("%s of member %i of type %s committed all changes.\n", sink, osync_member_get_id(member), osync_member_get_pluginname(member)); break; case OSYNC_ENGINE_MEMBER_EVENT_SYNC_DONE: - printf("%s of member %lli of type %s reported sync done.\n", sink, osync_member_get_id(member), osync_member_get_pluginname(member)); + printf("%s of member %i of type %s reported sync done.\n", sink, osync_member_get_id(member), osync_member_get_pluginname(member)); break; case OSYNC_ENGINE_MEMBER_EVENT_DISCOVERED: - printf("%s of member %lli of type %s discovered its objtypes.\n", sink, osync_member_get_id(member), osync_member_get_pluginname(member)); + printf("%s of member %i of type %s discovered its objtypes.\n", sink, osync_member_get_id(member), osync_member_get_pluginname(member)); break; case OSYNC_ENGINE_MEMBER_EVENT_ERROR: - printf("%s of member %lli of type %s had an error: %s\n", sink, osync_member_get_id(member), osync_member_get_pluginname(member), osync_error_print(&error)); + printf("%s of member %i of type %s had an error: %s\n", sink, osync_member_get_id(member), osync_member_get_pluginname(member), osync_error_print(&error)); break; } @@ -329,7 +329,7 @@ } } - printf("\tMember %lli: Adding(%u) Modifying(%u) Deleting(%u)\n", + printf("\tMember %i: Adding(%u) Modifying(%u) Deleting(%u)\n", osync_member_get_id(member), added, modified, deleted); @@ -391,7 +391,7 @@ switch (osync_engine_change_update_get_event(status)) { case OSYNC_ENGINE_CHANGE_EVENT_READ: - printf("Received an entry %s (%s) from member %lli (%s). Changetype %s\n", + printf("Received an entry %s (%s) from member %i (%s). Changetype %s\n", osync_change_get_uid(change), osync_objformat_get_name(osync_change_get_objformat(change)), osync_member_get_id(member), @@ -399,7 +399,7 @@ OSyncChangeType2String(osync_change_get_changetype(change))); break; case OSYNC_ENGINE_CHANGE_EVENT_WRITTEN: - printf("Sent an entry %s (%s) to member %lli (%s). Changetype %s\n", + printf("Sent an entry %s (%s) to member %i (%s). Changetype %s\n", osync_change_get_uid(change), osync_objformat_get_name(osync_change_get_objformat(change)), osync_member_get_id(member), @@ -407,7 +407,7 @@ OSyncChangeType2String(osync_change_get_changetype(change))); break; case OSYNC_ENGINE_CHANGE_EVENT_ERROR: - printf("Error for entry %s (%s) and member %lli (%s): %s\n", + printf("Error for entry %s (%s) and member %i (%s): %s\n", osync_change_get_uid(change), osync_objformat_get_name(osync_change_get_objformat(change)), osync_member_get_id(member), @@ -523,7 +523,7 @@ osync_error_unref(&error); return; } - printf("\nEntry %i:\nMember: %lli (%s)\nUID: %s\n%s\n", i+1, + printf("\nEntry %i:\nMember: %i (%s)\nUID: %s\n%s\n", i+1, osync_member_get_id(member), osync_member_get_pluginname(member), osync_change_get_uid(change), @@ -657,7 +657,7 @@ OSyncMember *member = (OSyncMember *) m->data; OSyncList *objtypes = osync_member_get_objtypes(member); if (osync_list_length(objtypes) == 0) { - printf("Member %llu has no objtypes. Has it already been discovered?\n", osync_member_get_id(member)); + printf("Member %i has no objtypes. Has it already been discovered?\n", osync_member_get_id(member)); } } osync_list_free(members); @@ -751,9 +751,9 @@ member = (OSyncMember *) m->data; membername = osync_member_get_name(member); if (membername) { - printf("Member %lli (%s): %s\n", osync_member_get_id(member), membername, osync_member_get_pluginname(member)); + printf("Member %i (%s): %s\n", osync_member_get_id(member), membername, osync_member_get_pluginname(member)); } else { - printf("Member %lli: %s\n", osync_member_get_id(member), osync_member_get_pluginname(member)); + printf("Member %i: %s\n", osync_member_get_id(member), osync_member_get_pluginname(member)); } /* @@ -791,9 +791,9 @@ OSyncMember *member = (OSyncMember *) m->data; OSyncList *o, *objtypes = osync_member_get_objtypes(member); if (osync_list_length(objtypes) == 0) { - printf("Member %lli has no objtypes. Has it already been discovered?\n", osync_member_get_id(member)); + printf("Member %i has no objtypes. Has it already been discovered?\n", osync_member_get_id(member)); } else { - printf("Member %lli Objtypes:\n", osync_member_get_id(member)); + printf("Member %i Objtypes:\n", osync_member_get_id(member)); for (o=objtypes; o; o = o->next) { const char *objtype = (const char *) o->data; @@ -857,7 +857,7 @@ members = osync_group_get_members(group); for (m=members; m; m = m->next) { member = (OSyncMember *) m->data; - printf("Member %lli: %s\n", osync_member_get_id(member), osync_member_get_pluginname(member)); + printf("Member %i: %s\n", osync_member_get_id(member), osync_member_get_pluginname(member)); OSyncCapabilities *capabilities = osync_member_get_capabilities(member); if (!capabilities) { @@ -1192,7 +1192,7 @@ /* Otherwise configure all sinks */ objtypes = osync_member_get_objtypes(member); if (osync_list_length(objtypes) == 0) { - osync_error_set(error, OSYNC_ERROR_GENERIC, "Member %lli has no objtypes. Has it already been discovered?\n", osync_member_get_id(member)); + osync_error_set(error, OSYNC_ERROR_GENERIC, "Member %i has no objtypes. Has it already been discovered?\n", osync_member_get_id(member)); goto error; } else { for (o = objtypes; o; o = o->next) { |
Author: cdfrey Date: Mon Jul 5 20:51:38 2010 New Revision: 6051 URL: http://www.opensync.org/changeset/6051 Log: Removed all unnecessary long longs from IDs, and gave IDs typedef names The new ID types are: typedef int osync_memberid; typedef int osync_mappingid; typedef int osync_groupid; typedef long long int osync_archiveid; typedef long long int osync_messageid; osync_archiveid is 64 bits because the ID is the row ID of the underlying database. This must match the database used. Note that there is a bug in the implementation where the above 64 bit IDs are crammed into a 32 bit pointer on 32 bit systems. The implementation should be fixed, not the size of the osync_archiveid. Look for FIXME's in the code. osync_messageid is 64 bits because 6 bytes are used for the time in seconds and microseconds, and the lower 2 bytes are a random number, to create a unique IPC message ID. The other 3 IDs usually start at 1 or 0 and increment from there, and int should be completely sufficient for them. Modified: trunk/opensync/archive/opensync_archive.c trunk/opensync/archive/opensync_archive_internals.h trunk/opensync/client/opensync_client.c trunk/opensync/client/opensync_client_proxy.c trunk/opensync/engine/opensync_engine.c trunk/opensync/engine/opensync_engine_private.h trunk/opensync/engine/opensync_mapping_engine.c trunk/opensync/engine/opensync_mapping_engine.h trunk/opensync/engine/opensync_mapping_entry_engine.c trunk/opensync/engine/opensync_obj_engine.c trunk/opensync/engine/opensync_sink_engine.c trunk/opensync/group/opensync_group.c trunk/opensync/group/opensync_group.h trunk/opensync/group/opensync_group_env.c trunk/opensync/group/opensync_group_env_private.h trunk/opensync/group/opensync_group_internals.h trunk/opensync/group/opensync_group_private.h trunk/opensync/group/opensync_member.c trunk/opensync/group/opensync_member.h trunk/opensync/group/opensync_member_internals.h trunk/opensync/ipc/opensync_message.c trunk/opensync/ipc/opensync_message_internals.h trunk/opensync/ipc/opensync_message_private.h trunk/opensync/ipc/opensync_queue.c trunk/opensync/ipc/opensync_queue_private.h trunk/opensync/mapping/opensync_mapping.c trunk/opensync/mapping/opensync_mapping.h trunk/opensync/mapping/opensync_mapping_entry.c trunk/opensync/mapping/opensync_mapping_entry.h trunk/opensync/mapping/opensync_mapping_entry_internals.h trunk/opensync/mapping/opensync_mapping_internals.h trunk/opensync/mapping/opensync_mapping_table.c trunk/opensync/mapping/opensync_mapping_table.h trunk/opensync/opensync.h trunk/opensync/plugin/opensync_plugin_info_private.h trunk/tests/archive-tests/check_archive.c trunk/tests/mock-plugin/mock_sync.c trunk/wrapper/opensync-group.i Modified: trunk/opensync/archive/opensync_archive.c ============================================================================== --- trunk/opensync/archive/opensync_archive.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/archive/opensync_archive.c Mon Jul 5 20:51:38 2010 (r6051) @@ -204,12 +204,12 @@ } } -osync_bool osync_archive_save_data(OSyncArchive *archive, long long int id, const char *objtype, const char *data, unsigned int size, OSyncError **error) +osync_bool osync_archive_save_data(OSyncArchive *archive, osync_mappingid id, const char *objtype, const char *data, unsigned int size, OSyncError **error) { char *query = NULL; char *escaped_objtype = NULL; - osync_trace(TRACE_ENTRY, "%s(%p, %lli, %s, %p, %u, %p)", __func__, archive, id, objtype, data, size, error); + osync_trace(TRACE_ENTRY, "%s(%p, %i, %s, %p, %u, %p)", __func__, archive, id, objtype, data, size, error); osync_assert(archive); osync_assert(data); osync_assert(size); @@ -219,7 +219,7 @@ // FIXME: Avoid subselect - this query needs up to 0.5s escaped_objtype = osync_db_sql_escape(objtype); - query = osync_strdup_printf("REPLACE INTO tbl_archive (objtype, mappingid, data) VALUES('%s', %lli, ?)", escaped_objtype, id); + query = osync_strdup_printf("REPLACE INTO tbl_archive (objtype, mappingid, data) VALUES('%s', %i, ?)", escaped_objtype, id); osync_free(escaped_objtype); escaped_objtype = NULL; @@ -281,14 +281,14 @@ return -1; } -long long int osync_archive_save_change(OSyncArchive *archive, long long int id, const char *uid, const char *objtype, long long int mappingid, long long int memberid, const char *objengine, OSyncError **error) +osync_archiveid osync_archive_save_change(OSyncArchive *archive, osync_archiveid id, const char *uid, const char *objtype, osync_mappingid mappingid, osync_memberid memberid, const char *objengine, OSyncError **error) { char *query = NULL; char *escaped_uid = NULL; char *escaped_objtype = NULL; char *escaped_objengine = NULL; - osync_trace(TRACE_ENTRY, "%s(%p, %lli, %s, %s, %lli, %lli, %p, %p)", __func__, archive, id, uid, objtype, mappingid, memberid, __NULLSTR(objengine), error); + osync_trace(TRACE_ENTRY, "%s(%p, %lli, %s, %s, %i, %i, %p, %p)", __func__, archive, id, uid, objtype, mappingid, memberid, __NULLSTR(objengine), error); osync_assert(archive); osync_assert(uid); osync_assert(objtype); @@ -302,9 +302,9 @@ escaped_objengine = osync_db_sql_escape(objengine); if (!id) { - query = osync_strdup_printf("INSERT INTO tbl_changes (objtype, uid, mappingid, memberid, objengine) VALUES('%s', '%s', '%lli', '%lli', '%s')", escaped_objtype, escaped_uid, mappingid, memberid, objengine); + query = osync_strdup_printf("INSERT INTO tbl_changes (objtype, uid, mappingid, memberid, objengine) VALUES('%s', '%s', '%i', '%i', '%s')", escaped_objtype, escaped_uid, mappingid, memberid, objengine); } else { - query = osync_strdup_printf("UPDATE tbl_changes SET uid='%s', mappingid='%lli', memberid='%lli', objengine='%s' WHERE objtype='%s' AND id=%lli", escaped_uid, mappingid, memberid, escaped_objengine, escaped_objtype, id); + query = osync_strdup_printf("UPDATE tbl_changes SET uid='%s', mappingid='%i', memberid='%i', objengine='%s' WHERE objtype='%s' AND id=%lli", escaped_uid, mappingid, memberid, escaped_objengine, escaped_objtype, id); } osync_free(escaped_objengine); osync_free(escaped_objtype); @@ -331,7 +331,7 @@ return 0; } -osync_bool osync_archive_delete_change(OSyncArchive *archive, long long int id, const char *objtype, OSyncError **error) +osync_bool osync_archive_delete_change(OSyncArchive *archive, osync_archiveid id, const char *objtype, OSyncError **error) { char *query = NULL; char *escaped_objtype = NULL; @@ -366,7 +366,9 @@ char *query = NULL; char *escaped_objtype = NULL; OSyncList *result = NULL, *row = NULL, *column = NULL; - long long int id = 0, mappingid = 0, memberid = 0; + osync_archiveid id = 0; + osync_mappingid mappingid = 0; + osync_memberid memberid = 0; const char *uid = NULL; const char *value_str = NULL; @@ -420,21 +422,23 @@ osync_error_set(error, OSYNC_ERROR_GENERIC, "Database table tbl_changes corrupt, mappingid is NULL"); goto error; } - mappingid = g_ascii_strtoull(value_str, NULL, 0); + mappingid = strtoul(value_str, NULL, 0); value_str = osync_list_nth_data(column, 3); if (!value_str) { osync_error_set(error, OSYNC_ERROR_GENERIC, "Database table tbl_changes corrupt, memberid is NULL"); goto error; } - memberid = g_ascii_strtoull(value_str, NULL, 0); + memberid = strtoul(value_str, NULL, 0); + // FIXME - this (int) cast throws away part of the id's 64 bits + // and these 64 bits are governed by the DB layer's row ID *ids = osync_list_append((*ids), GINT_TO_POINTER((int)id)); *uids = osync_list_append((*uids), osync_strdup(uid)); - *mappingids = osync_list_append((*mappingids), GINT_TO_POINTER((int)mappingid)); - *memberids = osync_list_append((*memberids), GINT_TO_POINTER((int)memberid)); + *mappingids = osync_list_append((*mappingids), GINT_TO_POINTER(mappingid)); + *memberids = osync_list_append((*memberids), GINT_TO_POINTER(memberid)); - osync_trace(TRACE_INTERNAL, "Loaded change with uid %s, mappingid %lli from member %lli", uid, mappingid, memberid); + osync_trace(TRACE_INTERNAL, "Loaded change with uid %s, mappingid %i from member %i", uid, mappingid, memberid); } osync_db_free_list(result); @@ -483,7 +487,8 @@ OSyncList *result = NULL, *row = NULL, *column = NULL; char *query = NULL; char *escaped_objtype = NULL; - long long int mappingid = 0, memberid = 0; + osync_mappingid mappingid = 0; + osync_memberid memberid = 0; int changetype = 0; osync_trace(TRACE_ENTRY, "%s(%p, %s, %p, %p)", __func__, archive, objtype, mappingids, error); @@ -516,11 +521,11 @@ mappingid = atoi(osync_list_nth_data(column, 1)); changetype = atoi(osync_list_nth_data(column, 2)); - *memberids = osync_list_append((*memberids), GINT_TO_POINTER((int)memberid)); - *mappingids = osync_list_append((*mappingids), GINT_TO_POINTER((int)mappingid)); - *changetypes = osync_list_append((*changetypes), GINT_TO_POINTER((int)changetype)); + *memberids = osync_list_append((*memberids), GINT_TO_POINTER(memberid)); + *mappingids = osync_list_append((*mappingids), GINT_TO_POINTER(mappingid)); + *changetypes = osync_list_append((*changetypes), GINT_TO_POINTER(changetype)); - osync_trace(TRACE_INTERNAL, "Loaded ignored mapping with mappingid %lli", mappingid); + osync_trace(TRACE_INTERNAL, "Loaded ignored mapping with mappingid %i", mappingid); } osync_db_free_list(result); @@ -532,11 +537,11 @@ return FALSE; } -osync_bool osync_archive_save_ignored_conflict(OSyncArchive *archive, const char *objtype, long long int memberid, long long int mappingid, OSyncChangeType changetype, OSyncError **error) +osync_bool osync_archive_save_ignored_conflict(OSyncArchive *archive, const char *objtype, osync_memberid memberid, osync_mappingid mappingid, OSyncChangeType changetype, OSyncError **error) { char *query = NULL; char *escaped_objtype = NULL; - osync_trace(TRACE_ENTRY, "%s(%p, %s, %lli, %lli, %p)", __func__, archive, objtype, memberid, mappingid, error); + osync_trace(TRACE_ENTRY, "%s(%p, %s, %i, %i, %p)", __func__, archive, objtype, memberid, mappingid, error); osync_assert(archive); osync_assert(objtype); @@ -545,7 +550,7 @@ goto error; escaped_objtype = osync_db_sql_escape(objtype); - query = osync_strdup_printf("INSERT INTO tbl_changelog (objtype, memberid, mappingid, changetype) VALUES('%s', '%lli', '%lli', '%i')", escaped_objtype, memberid, mappingid, changetype); + query = osync_strdup_printf("INSERT INTO tbl_changelog (objtype, memberid, mappingid, changetype) VALUES('%s', '%i', '%i', '%i')", escaped_objtype, memberid, mappingid, changetype); osync_free(escaped_objtype); escaped_objtype = NULL; @@ -556,7 +561,7 @@ osync_free(query); - osync_trace(TRACE_EXIT, "%s: %lli", __func__, mappingid); + osync_trace(TRACE_EXIT, "%s: %i", __func__, mappingid); return TRUE; error: Modified: trunk/opensync/archive/opensync_archive_internals.h ============================================================================== --- trunk/opensync/archive/opensync_archive_internals.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/archive/opensync_archive_internals.h Mon Jul 5 20:51:38 2010 (r6051) @@ -80,7 +80,7 @@ * @param error Pointer to an error struct * @return Returns TRUE on success otherwise FALSE */ -OSYNC_TEST_EXPORT osync_bool osync_archive_save_data(OSyncArchive *archive, long long int id, const char *objtype, const char *data, unsigned int size, OSyncError **error); +OSYNC_TEST_EXPORT osync_bool osync_archive_save_data(OSyncArchive *archive, osync_mappingid id, const char *objtype, const char *data, unsigned int size, OSyncError **error); /** * @brief Loads data of an entry which is stored in the group archive database (blob). @@ -108,7 +108,7 @@ * @param error Pointer to an error struct * @return Returns number of entries in archive group database. 0 on error. */ -OSYNC_TEST_EXPORT long long int osync_archive_save_change(OSyncArchive *archive, long long int id, const char *uid, const char *objtype, long long int mappingid, long long int memberid, const char *objengine, OSyncError **error); +OSYNC_TEST_EXPORT osync_archiveid osync_archive_save_change(OSyncArchive *archive, osync_archiveid id, const char *uid, const char *objtype, osync_mappingid mappingid, osync_memberid memberid, const char *objengine, OSyncError **error); /** * @brief Deletes an entry from a group archive. @@ -119,7 +119,7 @@ * @param error Pointer to an error struct * @return TRUE if the specified change was deleted successfully, otherwise FALSE */ -osync_bool osync_archive_delete_change(OSyncArchive *archive, long long int id, const char *objtype, OSyncError **error); +osync_bool osync_archive_delete_change(OSyncArchive *archive, osync_archiveid id, const char *objtype, OSyncError **error); /** * @brief Delete all changes from group archive for a certain object type. @@ -155,7 +155,7 @@ * @param error Pointer to an error struct * @return Returns TRUE on success, FALSE otherwise */ -osync_bool osync_archive_save_ignored_conflict(OSyncArchive *archive, const char *objtype, long long int memberid, long long int mappingid, OSyncChangeType changetype, OSyncError **error); +osync_bool osync_archive_save_ignored_conflict(OSyncArchive *archive, const char *objtype, osync_memberid memberid, osync_mappingid mappingid, OSyncChangeType changetype, OSyncError **error); /** * @brief Deletes all ignored conflict entries of the changelog with the objtype. Modified: trunk/opensync/client/opensync_client.c ============================================================================== --- trunk/opensync/client/opensync_client.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/client/opensync_client.c Mon Jul 5 20:51:38 2010 (r6051) @@ -783,8 +783,8 @@ #ifdef OPENSYNC_UNITTESTS { - long long int memberid; - if (!osync_message_read_long_long_int(message, &memberid, error)) // Introduced (only) for testing/debugging purpose (mock-sync) + osync_memberid memberid; + if (!osync_message_read_int(message, &memberid, error)) // Introduced (only) for testing/debugging purpose (mock-sync) goto error; client->plugin_info->memberid = memberid; Modified: trunk/opensync/client/opensync_client_proxy.c ============================================================================== --- trunk/opensync/client/opensync_client_proxy.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/client/opensync_client_proxy.c Mon Jul 5 20:51:38 2010 (r6051) @@ -1068,7 +1068,7 @@ osync_queue_disconnect(read2, error); osync_trace(TRACE_INTERNAL, "About to exec osplugin"); - //char *memberstring = g_strdup_printf("%lli", osync_member_get_id(proxy->member)); + //char *memberstring = g_strdup_printf("%i", osync_member_get_id(proxy->member)); //execlp("osplugin", "osplugin", osync_group_get_configdir(osync_member_get_group(osync_proxy_get_member(proxy)), memberstring, NULL); readfd = osync_strdup_printf("%i", osync_queue_get_fd(read1)); writefd = osync_strdup_printf("%i", osync_queue_get_fd(write2)); @@ -1281,7 +1281,7 @@ int haspluginconfig = config ? TRUE : FALSE; OSyncMessage *message = NULL; #ifdef OPENSYNC_UNITTESTS - long long int memberid = 0; + osync_memberid memberid = 0; #endif osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %s, %s, %s, %s, %s, %p, %p)", __func__, proxy, callback, userdata, __NULLSTR(formatdir), __NULLSTR(plugindir), __NULLSTR(plugin), __NULLSTR(groupname), __NULLSTR(configdir), config, error); @@ -1343,7 +1343,7 @@ if (proxy->member) memberid = osync_member_get_id(proxy->member); - osync_message_write_long_long_int(message, memberid, error); + osync_message_write_int(message, memberid, error); #endif osync_message_set_handler(message, _osync_client_proxy_init_handler, ctx); Modified: trunk/opensync/engine/opensync_engine.c ============================================================================== --- trunk/opensync/engine/opensync_engine.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/engine/opensync_engine.c Mon Jul 5 20:51:38 2010 (r6051) @@ -195,7 +195,7 @@ OSyncError *error = NULL; osync_bool found = FALSE; OSyncMember *member = NULL; - long long int memberid = 0; + osync_memberid memberid = 0; const char *uid = NULL; OSyncChangeType changetype = 0; const char *format = NULL; @@ -217,7 +217,7 @@ objtype_sink = osync_member_find_objtype_sink(member, objtype); - osync_trace(TRACE_INTERNAL, "Received change %s, changetype %i, format %s, objtype %s from member %lli", uid, changetype, format, objtype, memberid); + osync_trace(TRACE_INTERNAL, "Received change %s, changetype %i, format %s, objtype %s from member %i", uid, changetype, format, objtype, memberid); data = osync_change_get_data(change); @@ -233,7 +233,7 @@ objtype = osync_objformat_get_objtype(detected_format); } - member_objtype = osync_strdup_printf("%lli_%s", memberid, objtype); + member_objtype = osync_strdup_printf("%i_%s", memberid, objtype); /* Convert the format to the internal format */ internalFormat = _osync_engine_get_internal_format(engine, objtype); @@ -1127,7 +1127,7 @@ { OSyncList *o; unsigned int added, modified, deleted, unmodified, unknown, total, n; - long long int memberid; + osync_memberid memberid; if (!osync_trace_is_enabled()) return; @@ -1176,7 +1176,7 @@ } } - osync_trace(TRACE_INTERNAL, "\tMember: %lli " + osync_trace(TRACE_INTERNAL, "\tMember: %i " "added:%u modified:%u deleted:%u " "(unmodified:%u unknown:%u)", memberid, added, modified, deleted, unmodified, unknown); Modified: trunk/opensync/engine/opensync_engine_private.h ============================================================================== --- trunk/opensync/engine/opensync_engine_private.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/engine/opensync_engine_private.h Mon Jul 5 20:51:38 2010 (r6051) @@ -176,7 +176,7 @@ /** The type of the status update */ OSyncEngineMappingEvent type; /** If the mapping was already solved, this will have the id if the winning entry */ - long long int winner; + osync_memberid winner; /** The mapping for which the status update is */ OSyncMapping *mapping; /** If the status was a error, this error will be set */ Modified: trunk/opensync/engine/opensync_mapping_engine.c ============================================================================== --- trunk/opensync/engine/opensync_mapping_engine.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/engine/opensync_mapping_engine.c Mon Jul 5 20:51:38 2010 (r6051) @@ -284,7 +284,7 @@ osync_assert(engine); osync_assert(engine->mapping); - osync_trace(TRACE_ENTRY, "%s(%p(%lli), %p)", __func__, engine, osync_mapping_get_id(engine->mapping), error); + osync_trace(TRACE_ENTRY, "%s(%p(%i), %p)", __func__, engine, osync_mapping_get_id(engine->mapping), error); if (engine->synced) { osync_trace(TRACE_EXIT, "%s: No need to multiply. Already synced", __func__); @@ -578,7 +578,7 @@ return NULL; } -OSyncChange *osync_mapping_engine_member_change(OSyncMappingEngine *engine, long long int memberid) +OSyncChange *osync_mapping_engine_member_change(OSyncMappingEngine *engine, osync_memberid memberid) { OSyncList *e = NULL; osync_assert(engine); @@ -625,7 +625,7 @@ OSyncObjEngine *objengine = NULL; OSyncArchive *archive = NULL; char *objtype = NULL; - long long int id = 0; + osync_mappingid id = 0; OSyncList *c = NULL; osync_trace(TRACE_ENTRY, "%s(%p, %p)", __func__, engine, error); @@ -710,15 +710,15 @@ OSyncMappingEntryEngine *entry = e->data; if (entry->change) { if (osync_change_get_changetype(entry->change) == OSYNC_CHANGE_TYPE_MODIFIED || osync_change_get_changetype(entry->change) == OSYNC_CHANGE_TYPE_ADDED) { - osync_trace(TRACE_INTERNAL, "Appending entry %s, changetype %i from member %lli", osync_change_get_uid(entry->change), osync_change_get_changetype(entry->change), osync_member_get_id(osync_client_proxy_get_member(entry->sink_engine->proxy))); + osync_trace(TRACE_INTERNAL, "Appending entry %s, changetype %i from member %i", osync_change_get_uid(entry->change), osync_change_get_changetype(entry->change), osync_member_get_id(osync_client_proxy_get_member(entry->sink_engine->proxy))); entries = osync_list_append(entries, entry); } else { - osync_trace(TRACE_INTERNAL, "Removing entry %s, changetype %i from member %lli", osync_change_get_uid(entry->change), osync_change_get_changetype(entry->change), osync_member_get_id(osync_client_proxy_get_member(entry->sink_engine->proxy))); + osync_trace(TRACE_INTERNAL, "Removing entry %s, changetype %i from member %i", osync_change_get_uid(entry->change), osync_change_get_changetype(entry->change), osync_member_get_id(osync_client_proxy_get_member(entry->sink_engine->proxy))); osync_entry_engine_update(entry, NULL); } } else { - osync_trace(TRACE_INTERNAL, "member %lli does not have a entry", osync_member_get_id(osync_client_proxy_get_member(entry->sink_engine->proxy))); + osync_trace(TRACE_INTERNAL, "member %i does not have a entry", osync_member_get_id(osync_client_proxy_get_member(entry->sink_engine->proxy))); } } Modified: trunk/opensync/engine/opensync_mapping_engine.h ============================================================================== --- trunk/opensync/engine/opensync_mapping_engine.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/engine/opensync_mapping_engine.h Mon Jul 5 20:51:38 2010 (r6051) @@ -28,7 +28,7 @@ * @param memberid The member id of the request change. * @returns The pointer to the change of the member. NULL if member doesn't have an entry in this mapping. */ -OSYNC_EXPORT OSyncChange *osync_mapping_engine_member_change(OSyncMappingEngine *engine, long long int memberid); +OSYNC_EXPORT OSyncChange *osync_mapping_engine_member_change(OSyncMappingEngine *engine, osync_memberid memberid); OSYNC_EXPORT OSyncMember *osync_mapping_engine_change_find_member(OSyncMappingEngine *engine, OSyncChange *change); Modified: trunk/opensync/engine/opensync_mapping_entry_engine.c ============================================================================== --- trunk/opensync/engine/opensync_mapping_entry_engine.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/engine/opensync_mapping_entry_engine.c Mon Jul 5 20:51:38 2010 (r6051) @@ -219,7 +219,7 @@ OSyncChange *change = entry_engine->change; OSyncFormatConverterPath *path; - osync_trace(TRACE_INTERNAL, "Starting to convert change(%p:%s)/entry(uid:%s/id:%llu) from objtype %s and format %s", + osync_trace(TRACE_INTERNAL, "Starting to convert change(%p:%s)/entry(uid:%s/id:%u) from objtype %s and format %s", entry_engine->change, __NULLSTR(osync_change_get_uid(entry_engine->change)), osync_change_get_uid(entry_engine->change), Modified: trunk/opensync/engine/opensync_obj_engine.c ============================================================================== --- trunk/opensync/engine/opensync_obj_engine.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/engine/opensync_obj_engine.c Mon Jul 5 20:51:38 2010 (r6051) @@ -394,8 +394,8 @@ * the current sinkengine, since there will be only one entry (for the current sinkengine) so there * is no need to compare */ - long long int memberid = osync_member_get_id(osync_client_proxy_get_member(sinkengine->proxy)); - osync_trace(TRACE_INTERNAL, "Sinkengine of member %lli", memberid); + osync_memberid memberid = osync_member_get_id(osync_client_proxy_get_member(sinkengine->proxy)); + osync_trace(TRACE_INTERNAL, "Sinkengine of member %i", memberid); unmapped_mappings = osync_list_copy(new_mappings); @@ -403,7 +403,7 @@ while (sinkengine->unmapped) { OSyncChange *change = sinkengine->unmapped->data; - osync_trace(TRACE_INTERNAL, "Looking for mapping for change %s, changetype %i from member %lli", osync_change_get_uid(change), osync_change_get_changetype(change), memberid); + osync_trace(TRACE_INTERNAL, "Looking for mapping for change %s, changetype %i from member %i", osync_change_get_uid(change), osync_change_get_changetype(change), memberid); /* See if there is an exisiting mapping, which fits the unmapped change */ result = _osync_obj_engine_mapping_find(unmapped_mappings, change, sinkengine, &mapping_engine, error); @@ -414,7 +414,7 @@ if (!mapping_engine) goto error; - osync_trace(TRACE_INTERNAL, "Unable to find mapping. Creating new mapping with id %lli", osync_mapping_get_id(mapping_engine->mapping)); + osync_trace(TRACE_INTERNAL, "Unable to find mapping. Creating new mapping with id %i", osync_mapping_get_id(mapping_engine->mapping)); /* TODO: what about _prepend (O(1)) instead of _append (O(n))? Order doesn't matter here - right? */ new_mappings = osync_list_append(new_mappings, mapping_engine); unmapped_mappings = osync_list_append(unmapped_mappings, mapping_engine); @@ -643,7 +643,7 @@ OSyncMappingEntry *entry = NULL; const char *objtype = NULL; const char *objengine_objtype = NULL; - long long int id = 0; + osync_mappingid id = 0; objengine_objtype = osync_obj_engine_get_objtype(engine); @@ -793,7 +793,7 @@ t = changetypes; mid = memberids; for (j = ids; j; j = j->next) { - long long int id = (long long int)GPOINTER_TO_INT(j->data); + osync_archiveid id = GPOINTER_TO_INT(j->data); OSyncMapping *ignored_mapping = osync_mapping_table_find_mapping(engine->mapping_table, id); Modified: trunk/opensync/engine/opensync_sink_engine.c ============================================================================== --- trunk/opensync/engine/opensync_sink_engine.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/engine/opensync_sink_engine.c Mon Jul 5 20:51:38 2010 (r6051) @@ -235,7 +235,7 @@ OSyncChange *change = osync_entry_engine_get_change(entry_engine); osync_assert(change); - osync_trace(TRACE_INTERNAL, "Writing change %s, changetype %i, format %s , objtype %s from member %lli", + osync_trace(TRACE_INTERNAL, "Writing change %s, changetype %i, format %s , objtype %s from member %i", osync_change_get_uid(change), osync_change_get_changetype(change), osync_objformat_get_name(osync_change_get_objformat(change)), Modified: trunk/opensync/group/opensync_group.c ============================================================================== --- trunk/opensync/group/opensync_group.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/group/opensync_group.c Mon Jul 5 20:51:38 2010 (r6051) @@ -76,16 +76,16 @@ #endif //not defined _WIN32 -static long long int osync_group_create_member_id(OSyncGroup *group) +static osync_memberid osync_group_create_member_id(OSyncGroup *group) { char *filename = NULL; - long long int i = 0; + osync_memberid i = 0; do { i++; if (filename) osync_free(filename); - filename = osync_strdup_printf("%s%c%lli", group->configdir, G_DIR_SEPARATOR, i); + filename = osync_strdup_printf("%s%c%i", group->configdir, G_DIR_SEPARATOR, i); } while (g_file_test(filename, G_FILE_TEST_EXISTS)); osync_free(filename); @@ -778,7 +778,7 @@ if (!osync_member_get_configdir(member)) { member->id = osync_group_create_member_id(group); - char *configdir = osync_strdup_printf("%s%c%lli", group->configdir, G_DIR_SEPARATOR, member->id); + char *configdir = osync_strdup_printf("%s%c%i", group->configdir, G_DIR_SEPARATOR, member->id); osync_member_set_configdir(member, configdir); osync_free(configdir); } @@ -794,7 +794,7 @@ osync_member_unref(member); } -OSyncMember *osync_group_find_member(OSyncGroup *group, long long int id) +OSyncMember *osync_group_find_member(OSyncGroup *group, osync_memberid id) { OSyncList *m = NULL; for (m = group->members; m; m = m->next) { @@ -980,14 +980,14 @@ return group->last_sync; } -void osync_group_set_conflict_resolution(OSyncGroup *group, OSyncConflictResolution res, long long int winner) +void osync_group_set_conflict_resolution(OSyncGroup *group, OSyncConflictResolution res, osync_memberid winner) { osync_assert(group); group->conflict_resolution = res; group->conflict_winner = winner; } -void osync_group_get_conflict_resolution(OSyncGroup *group, OSyncConflictResolution *res, long long int *winner) +void osync_group_get_conflict_resolution(OSyncGroup *group, OSyncConflictResolution *res, osync_memberid *winner) { osync_assert(group); osync_assert(res); Modified: trunk/opensync/group/opensync_group.h ============================================================================== --- trunk/opensync/group/opensync_group.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/group/opensync_group.h Mon Jul 5 20:51:38 2010 (r6051) @@ -193,7 +193,7 @@ * @returns The member, or NULL if not found * */ -OSYNC_EXPORT OSyncMember *osync_group_find_member(OSyncGroup *group, long long int id); +OSYNC_EXPORT OSyncMember *osync_group_find_member(OSyncGroup *group, osync_memberid id); /** * @brief Returns a OSyncList that contains the OSyncMembers of this group @@ -271,7 +271,7 @@ * @param winner The Member ID which solves the conflict (winner) * */ -OSYNC_EXPORT void osync_group_set_conflict_resolution(OSyncGroup *group, OSyncConflictResolution res, long long int winner); +OSYNC_EXPORT void osync_group_set_conflict_resolution(OSyncGroup *group, OSyncConflictResolution res, osync_memberid winner); /** @brief Get fixed conflict resolution for the group for all appearing conflicts * @@ -280,7 +280,7 @@ * @param winner Pointer to set Member ID value which solves the conflict (winner) * */ -OSYNC_EXPORT void osync_group_get_conflict_resolution(OSyncGroup *group, OSyncConflictResolution *res, long long int *winner); +OSYNC_EXPORT void osync_group_get_conflict_resolution(OSyncGroup *group, OSyncConflictResolution *res, osync_memberid *winner); /** @brief Get group configured status of merger use. * Modified: trunk/opensync/group/opensync_group_env.c ============================================================================== --- trunk/opensync/group/opensync_group_env.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/group/opensync_group_env.c Mon Jul 5 20:51:38 2010 (r6051) @@ -26,15 +26,15 @@ #include "opensync_group_env_internals.h" #include "opensync_group_env_private.h" -static long long int osync_group_env_create_group_id(OSyncGroupEnv *env) +static osync_groupid osync_group_env_create_group_id(OSyncGroupEnv *env) { char *filename = NULL; - long long int i = 0; + osync_groupid i = 0; do { i++; if (filename) osync_free(filename); - filename = osync_strdup_printf("%s%cgroup%lli", env->groupsdir, G_DIR_SEPARATOR, i); + filename = osync_strdup_printf("%s%cgroup%i", env->groupsdir, G_DIR_SEPARATOR, i); } while (g_file_test(filename, G_FILE_TEST_EXISTS)); osync_free(filename); return i; @@ -409,7 +409,7 @@ } if (!osync_group_get_configdir(group)) { - char *configdir = osync_strdup_printf("%s%cgroup%lli", env->groupsdir, G_DIR_SEPARATOR, osync_group_env_create_group_id(env)); + char *configdir = osync_strdup_printf("%s%cgroup%i", env->groupsdir, G_DIR_SEPARATOR, osync_group_env_create_group_id(env)); osync_group_set_configdir(group, configdir); osync_free(configdir); } Modified: trunk/opensync/group/opensync_group_env_private.h ============================================================================== --- trunk/opensync/group/opensync_group_env_private.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/group/opensync_group_env_private.h Mon Jul 5 20:51:38 2010 (r6051) @@ -37,7 +37,7 @@ * @returns The next free number * */ -static long long int osync_group_env_create_group_id(OSyncGroupEnv *env); +static osync_groupid osync_group_env_create_group_id(OSyncGroupEnv *env); /*@}*/ Modified: trunk/opensync/group/opensync_group_internals.h ============================================================================== --- trunk/opensync/group/opensync_group_internals.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/group/opensync_group_internals.h Mon Jul 5 20:51:38 2010 (r6051) @@ -52,7 +52,7 @@ /** The defined resolution for this group */ OSyncConflictResolution conflict_resolution; /** The winning side if the select resolution is choosen */ - long long int conflict_winner; + osync_memberid conflict_winner; /** The configured merger status of this group */ osync_bool merger_enabled; /** The configured converter status of this group */ Modified: trunk/opensync/group/opensync_group_private.h ============================================================================== --- trunk/opensync/group/opensync_group_private.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/group/opensync_group_private.h Mon Jul 5 20:51:38 2010 (r6051) @@ -36,7 +36,7 @@ * @returns A new unique member id * */ -static long long int osync_group_create_member_id(OSyncGroup *group); +static osync_memberid osync_group_create_member_id(OSyncGroup *group); /** @brief Loads all members of a group * Modified: trunk/opensync/group/opensync_member.c ============================================================================== --- trunk/opensync/group/opensync_member.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/group/opensync_member.c Mon Jul 5 20:51:38 2010 (r6051) @@ -541,7 +541,7 @@ * member_configdir_deep_path */ if (g_mkdir_with_parents(member->configdir, 0700)) { - osync_error_set(error, OSYNC_ERROR_IO_ERROR, "Unable to create directory for member %lli\n", member->id); + osync_error_set(error, OSYNC_ERROR_IO_ERROR, "Unable to create directory for member %i\n", member->id); goto error; } } @@ -630,7 +630,7 @@ return TRUE; } -long long int osync_member_get_id(OSyncMember *member) +osync_memberid osync_member_get_id(OSyncMember *member) { osync_assert(member); return member->id; Modified: trunk/opensync/group/opensync_member.h ============================================================================== --- trunk/opensync/group/opensync_member.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/group/opensync_member.h Mon Jul 5 20:51:38 2010 (r6051) @@ -191,7 +191,7 @@ * @returns The id of the member thats unique in its group * */ -OSYNC_EXPORT long long int osync_member_get_id(OSyncMember *member); +OSYNC_EXPORT osync_memberid osync_member_get_id(OSyncMember *member); /** * @brief Returns a OSyncList that contains the objtypes of this member Modified: trunk/opensync/group/opensync_member_internals.h ============================================================================== --- trunk/opensync/group/opensync_member_internals.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/group/opensync_member_internals.h Mon Jul 5 20:51:38 2010 (r6051) @@ -31,7 +31,7 @@ /** @brief A member of a group which represent a single device */ struct OSyncMember { - long long int id; + osync_memberid id; char *configdir; OSyncPluginConfig *config; Modified: trunk/opensync/ipc/opensync_message.c ============================================================================== --- trunk/opensync/ipc/opensync_message.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/ipc/opensync_message.c Mon Jul 5 20:51:38 2010 (r6051) @@ -87,13 +87,13 @@ return message->timeout; } -void osync_message_set_id(OSyncMessage *message, long long int id) +void osync_message_set_id(OSyncMessage *message, osync_messageid id) { osync_assert(message); message->id = id; } -long long int osync_message_get_id(OSyncMessage *message) +osync_messageid osync_message_get_id(OSyncMessage *message) { osync_assert(message); return message->id; Modified: trunk/opensync/ipc/opensync_message_internals.h ============================================================================== --- trunk/opensync/ipc/opensync_message_internals.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/ipc/opensync_message_internals.h Mon Jul 5 20:51:38 2010 (r6051) @@ -149,7 +149,7 @@ * @param id The ID which get set for supplied message object * */ -OSYNC_TEST_EXPORT void osync_message_set_id(OSyncMessage *message, long long int id); +OSYNC_TEST_EXPORT void osync_message_set_id(OSyncMessage *message, osync_messageid id); /** @brief Get message ID of supplied message object * @@ -157,7 +157,7 @@ * @returns The message ID of supplied message * */ -OSYNC_TEST_EXPORT long long int osync_message_get_id(OSyncMessage *message); +OSYNC_TEST_EXPORT osync_messageid osync_message_get_id(OSyncMessage *message); /** @brief Get marshal object of supplied message object * Modified: trunk/opensync/ipc/opensync_message_private.h ============================================================================== --- trunk/opensync/ipc/opensync_message_private.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/ipc/opensync_message_private.h Mon Jul 5 20:51:38 2010 (r6051) @@ -39,7 +39,7 @@ /** The type of this message */ OSyncMessageCommand cmd; /** The name of the message*/ - long long int id; + osync_messageid id; /** Where should the reply be received? */ OSyncMessageHandler callback; /** The user data */ Modified: trunk/opensync/ipc/opensync_queue.c ============================================================================== --- trunk/opensync/ipc/opensync_queue.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/ipc/opensync_queue.c Mon Jul 5 20:51:38 2010 (r6051) @@ -689,7 +689,7 @@ do { int size = 0; int cmd = 0, timeout = 0; - long long int id = 0; + osync_messageid id = 0; char *buffer = NULL; /* The size of the buffer */ @@ -1367,7 +1367,7 @@ return g_async_queue_pop(queue->incoming); } -static long long int opensync_queue_gen_id(const GTimeVal *tv) +static osync_messageid opensync_queue_gen_id(const GTimeVal *tv) { long long int now = (tv->tv_sec * 1000000 + tv->tv_usec) << 16; long long int rnd = ((long long int)g_random_int()) & 0xFFFF; @@ -1400,7 +1400,7 @@ if (osync_message_get_handler(message)) { OSyncPendingMessage *pending = NULL; GTimeVal current_time; - long long int id = 0; + osync_messageid id = 0; osync_assert(replyqueue); g_mutex_lock(replyqueue->pendingLock); Modified: trunk/opensync/ipc/opensync_queue_private.h ============================================================================== --- trunk/opensync/ipc/opensync_queue_private.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/ipc/opensync_queue_private.h Mon Jul 5 20:51:38 2010 (r6051) @@ -134,7 +134,7 @@ */ typedef struct OSyncPendingMessage { /** ID of the expected Message */ - long long int id; + osync_messageid id; /** Where should the reply be received? */ OSyncMessageHandler callback; /** The user data */ @@ -151,7 +151,7 @@ * the lower 2 bytes are a random number * * */ -static long long int opensync_queue_gen_id(const GTimeVal *tv); +static osync_messageid opensync_queue_gen_id(const GTimeVal *tv); /** @brief Flush all message of the Queue * Modified: trunk/opensync/mapping/opensync_mapping.c ============================================================================== --- trunk/opensync/mapping/opensync_mapping.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/mapping/opensync_mapping.c Mon Jul 5 20:51:38 2010 (r6051) @@ -68,13 +68,13 @@ } } -long long int osync_mapping_get_id(OSyncMapping *mapping) +osync_mappingid osync_mapping_get_id(OSyncMapping *mapping) { osync_assert(mapping); return mapping->id; } -void osync_mapping_set_id(OSyncMapping *mapping, long long int id) +void osync_mapping_set_id(OSyncMapping *mapping, osync_mappingid id) { osync_assert(mapping); mapping->id = id; @@ -109,7 +109,7 @@ return NULL; }*/ -OSyncMappingEntry *osync_mapping_find_entry_by_member_id(OSyncMapping *mapping, long long int memberid) +OSyncMappingEntry *osync_mapping_find_entry_by_member_id(OSyncMapping *mapping, osync_memberid memberid) { OSyncList *e; for (e = mapping->entries; e; e = e->next) { Modified: trunk/opensync/mapping/opensync_mapping.h ============================================================================== --- trunk/opensync/mapping/opensync_mapping.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/mapping/opensync_mapping.h Mon Jul 5 20:51:38 2010 (r6051) @@ -62,14 +62,14 @@ * @param mapping Pointer to a mapping object * @returns the mapping ID */ -OSYNC_EXPORT long long int osync_mapping_get_id(OSyncMapping *mapping); +OSYNC_EXPORT osync_mappingid osync_mapping_get_id(OSyncMapping *mapping); /** * @brief Set the ID of a mapping object * @param mapping Pointer to a mapping object * @param id the mapping ID to set */ -OSYNC_EXPORT void osync_mapping_set_id(OSyncMapping *mapping, long long int id); +OSYNC_EXPORT void osync_mapping_set_id(OSyncMapping *mapping, osync_mappingid id); /** * @brief Returns a OSyncList that contains the OSyncMappingEntries of this mapping @@ -103,7 +103,7 @@ * @param memberid The ID of the member * @returns the entry with the specified member ID or NULL if not found */ -OSYNC_EXPORT OSyncMappingEntry *osync_mapping_find_entry_by_member_id(OSyncMapping *mapping, long long int memberid); +OSYNC_EXPORT OSyncMappingEntry *osync_mapping_find_entry_by_member_id(OSyncMapping *mapping, osync_memberid memberid); /*@}*/ Modified: trunk/opensync/mapping/opensync_mapping_entry.c ============================================================================== --- trunk/opensync/mapping/opensync_mapping_entry.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/mapping/opensync_mapping_entry.c Mon Jul 5 20:51:38 2010 (r6051) @@ -124,25 +124,25 @@ return entry->uid; } -long long int osync_mapping_entry_get_member_id(OSyncMappingEntry *entry) +osync_memberid osync_mapping_entry_get_member_id(OSyncMappingEntry *entry) { osync_assert(entry); return entry->member_id; } -void osync_mapping_entry_set_member_id(OSyncMappingEntry *entry, long long int id) +void osync_mapping_entry_set_member_id(OSyncMappingEntry *entry, osync_memberid id) { osync_assert(entry); entry->member_id = id; } -long long int osync_mapping_entry_get_id(OSyncMappingEntry *entry) +osync_mappingid osync_mapping_entry_get_id(OSyncMappingEntry *entry) { osync_assert(entry); return entry->id; } -void osync_mapping_entry_set_id(OSyncMappingEntry *entry, long long int id) +void osync_mapping_entry_set_id(OSyncMappingEntry *entry, osync_mappingid id) { osync_assert(entry); entry->id = id; Modified: trunk/opensync/mapping/opensync_mapping_entry.h ============================================================================== --- trunk/opensync/mapping/opensync_mapping_entry.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/mapping/opensync_mapping_entry.h Mon Jul 5 20:51:38 2010 (r6051) @@ -98,14 +98,14 @@ * @param entry Pointer to a mapping entry object * @returns the entry's member ID */ -OSYNC_EXPORT long long int osync_mapping_entry_get_member_id(OSyncMappingEntry *entry); +OSYNC_EXPORT osync_memberid osync_mapping_entry_get_member_id(OSyncMappingEntry *entry); /** * @brief Set the member ID of the entry * @param entry Pointer to a mapping entry object * @param id the member ID to set */ -OSYNC_EXPORT void osync_mapping_entry_set_member_id(OSyncMappingEntry *entry, long long int id); +OSYNC_EXPORT void osync_mapping_entry_set_member_id(OSyncMappingEntry *entry, osync_memberid id); /** @@ -113,14 +113,14 @@ * @param entry Pointer to a mapping entry object * @returns the entry's ID */ -OSYNC_EXPORT long long int osync_mapping_entry_get_id(OSyncMappingEntry *entry); +OSYNC_EXPORT osync_mappingid osync_mapping_entry_get_id(OSyncMappingEntry *entry); /** * @brief Set the ID of the entry * @param entry Pointer to a mapping entry object * @param id the ID to set */ -OSYNC_EXPORT void osync_mapping_entry_set_id(OSyncMappingEntry *entry, long long int id); +OSYNC_EXPORT void osync_mapping_entry_set_id(OSyncMappingEntry *entry, osync_mappingid id); /*@}*/ Modified: trunk/opensync/mapping/opensync_mapping_entry_internals.h ============================================================================== --- trunk/opensync/mapping/opensync_mapping_entry_internals.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/mapping/opensync_mapping_entry_internals.h Mon Jul 5 20:51:38 2010 (r6051) @@ -40,9 +40,9 @@ char *uid; /** uniquely identifies the member */ - long long int member_id; + osync_memberid member_id; /** uniquely identifies the mapping table entry */ - long long int id; + osync_mappingid id; }; /*@}*/ Modified: trunk/opensync/mapping/opensync_mapping_internals.h ============================================================================== --- trunk/opensync/mapping/opensync_mapping_internals.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/mapping/opensync_mapping_internals.h Mon Jul 5 20:51:38 2010 (r6051) @@ -38,7 +38,7 @@ /** Reference Counter */ int ref_count; /** ID of the mapping */ - long long int id; + osync_mappingid id; /** list of entries */ OSyncList *entries; }; Modified: trunk/opensync/mapping/opensync_mapping_table.c ============================================================================== --- trunk/opensync/mapping/opensync_mapping_table.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/mapping/opensync_mapping_table.c Mon Jul 5 20:51:38 2010 (r6051) @@ -88,10 +88,12 @@ i = memberids; for (u = uids; u; u = u->next) { - long long int id = (long long int)GPOINTER_TO_INT(d->data); + // FIXME - GPOINTER_TO_INT() only guarantees 32bits of data, + // while long long int is 64bits. + osync_archiveid id = GPOINTER_TO_INT(d->data); char *uid = u->data; - long long int memberid = (long long int)GPOINTER_TO_INT(i->data); - long long int mappingid = (long long int)GPOINTER_TO_INT(m->data); + osync_memberid memberid = GPOINTER_TO_INT(i->data); + osync_mappingid mappingid = GPOINTER_TO_INT(m->data); entry = osync_mapping_entry_new(error); if (!entry) @@ -171,7 +173,7 @@ osync_trace(TRACE_EXIT, "%s", __func__); } -OSyncMapping *osync_mapping_table_find_mapping(OSyncMappingTable *table, long long int id) +OSyncMapping *osync_mapping_table_find_mapping(OSyncMappingTable *table, osync_mappingid id) { OSyncList *m; osync_assert(table); @@ -214,9 +216,9 @@ return osync_list_nth_data(table->mappings, nth); } -long long int osync_mapping_table_get_next_id(OSyncMappingTable *table) +osync_mappingid osync_mapping_table_get_next_id(OSyncMappingTable *table) { - long long int new_id = 1; + osync_mappingid new_id = 1; OSyncList *m; for (m = table->mappings; m; m = m->next) { OSyncMapping *mapping = m->data; Modified: trunk/opensync/mapping/opensync_mapping_table.h ============================================================================== --- trunk/opensync/mapping/opensync_mapping_table.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/mapping/opensync_mapping_table.h Mon Jul 5 20:51:38 2010 (r6051) @@ -90,7 +90,7 @@ * @param id The mapping id to search for * @return Returns Mapping object or NULL if no mapping matched the mapping id */ -OSYNC_EXPORT OSyncMapping *osync_mapping_table_find_mapping(OSyncMappingTable *table, long long int id); +OSYNC_EXPORT OSyncMapping *osync_mapping_table_find_mapping(OSyncMappingTable *table, osync_mappingid id); /** * @brief Add a mapping to the mapping table @@ -125,7 +125,7 @@ * @param table The mapping table object * @return Next free mapping id of mapping table */ -OSYNC_EXPORT long long int osync_mapping_table_get_next_id(OSyncMappingTable *table); +OSYNC_EXPORT osync_mappingid osync_mapping_table_get_next_id(OSyncMappingTable *table); /*@}*/ Modified: trunk/opensync/opensync.h ============================================================================== --- trunk/opensync/opensync.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/opensync.h Mon Jul 5 20:51:38 2010 (r6051) @@ -157,6 +157,11 @@ } } while(0) typedef int osync_bool; +typedef int osync_memberid; +typedef int osync_mappingid; +typedef int osync_groupid; +typedef long long int osync_archiveid; +typedef long long int osync_messageid; /************************************************************** * Enums Modified: trunk/opensync/plugin/opensync_plugin_info_private.h ============================================================================== --- trunk/opensync/plugin/opensync_plugin_info_private.h Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/opensync/plugin/opensync_plugin_info_private.h Mon Jul 5 20:51:38 2010 (r6051) @@ -49,7 +49,7 @@ OSyncCapabilities *capabilities; #ifdef OPENSYNC_UNITTESTS - long long int memberid; // introduced only for testing purpose (mock-sync) + osync_memberid memberid; // introduced only for testing purpose (mock-sync) #endif }; Modified: trunk/tests/archive-tests/check_archive.c ============================================================================== --- trunk/tests/archive-tests/check_archive.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/tests/archive-tests/check_archive.c Mon Jul 5 20:51:38 2010 (r6051) @@ -58,7 +58,7 @@ OSyncList *memberids; osync_archive_load_changes(archive, "contact", &ids, &uids, &mappingids, &memberids, &error); - long long int id = osync_archive_save_change(archive, 0, "uid", "contact", 1, 1, "contact", &error); + osync_archiveid id = osync_archive_save_change(archive, 0, "uid", "contact", 1, 1, "contact", &error); fail_unless(id != 0, NULL); fail_unless(error == NULL, NULL); @@ -83,7 +83,7 @@ OSyncList *memberids; osync_archive_load_changes(archive, "contact", &ids, &uids, &mappingids, &memberids, &error); - long long int id = osync_archive_save_change(archive, 0, "uid", "contact", 1, 1, "contact", &error); + osync_archiveid id = osync_archive_save_change(archive, 0, "uid", "contact", 1, 1, "contact", &error); fail_unless(id != 0, NULL); fail_unless(error == NULL, NULL); @@ -113,7 +113,7 @@ OSyncList *memberids; osync_archive_load_changes(archive, "contact", &ids, &uids, &mappingids, &memberids, &error); - long long int id = osync_archive_save_change(archive, 0, "uid", "contact", 1, 1, "contact", &error); + osync_archiveid id = osync_archive_save_change(archive, 0, "uid", "contact", 1, 1, "contact", &error); fail_unless(id != 0, NULL); fail_unless(error == NULL, NULL); @@ -152,7 +152,7 @@ OSyncList *memberids; osync_archive_load_changes(archive, "contact", &ids, &uids, &mappingids, &memberids, &error); - long long int id = osync_archive_save_change(archive, 0, "uid", "contact", 1, 1, "contact", &error); + osync_archiveid id = osync_archive_save_change(archive, 0, "uid", "contact", 1, 1, "contact", &error); fail_unless(id != 0, NULL); fail_unless(error == NULL, NULL); Modified: trunk/tests/mock-plugin/mock_sync.c ============================================================================== --- trunk/tests/mock-plugin/mock_sync.c Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/tests/mock-plugin/mock_sync.c Mon Jul 5 20:51:38 2010 (r6051) @@ -23,7 +23,7 @@ #include "opensync/plugin/opensync_plugin_info_private.h" /* FIXME: access direclty private header */ -static osync_bool mock_get_error(long long int memberid, const char *domain) +static osync_bool mock_get_error(osync_memberid memberid, const char *domain) { const char *env = g_getenv(domain); Modified: trunk/wrapper/opensync-group.i ============================================================================== --- trunk/wrapper/opensync-group.i Thu Jul 1 05:47:31 2010 (r6050) +++ trunk/wrapper/opensync-group.i Mon Jul 5 20:51:38 2010 (r6051) @@ -232,7 +232,7 @@ %apply ConflictResolution *OUTPUT { ConflictResolution *res, int *num }; %apply int *OUTPUT { ConflictResolution *res, int *num }; - void get_conflict_resolution(ConflictResolution *res, long long int *winner) { + void get_conflict_resolution(ConflictResolution *res, osync_memberid *winner) { osync_group_get_conflict_resolution(self, res, winner); } @@ -357,7 +357,7 @@ wrapper_exception("osync_member_delete failed but did not set error code"); } - long long int get_id() { + osync_memberid get_id() { return osync_member_get_id(self); } |
From: <svn...@op...> - 2010-07-01 03:47:40
|
Author: cdfrey Date: Thu Jul 1 05:47:31 2010 New Revision: 6050 URL: http://www.opensync.org/changeset/6050 Log: Fixed COUNT=0 bug when a forever recurring rule is converted ical->xml->ical When a VEVENT that has a recurring rule with no UNTIL or COUNT fields is converted from ICAL to xmlformat and back, it suddenly gains an extra COUNT=0 setting that was not there before. Comparing against the schema for calendars in the xmlformat plugin in the schemas/xmlformat-calendar.xsd file: <!-- Basic vCalendar Recurence Rule --> <xsd:complexType name="RecurrenceRule"> <xsd:sequence> <xsd:element minOccurs="1" maxOccurs="1" name="Frequency" type="BasicRecur renceFreq"/> <xsd:element minOccurs="0" maxOccurs="1" name="Until" type="xsd:string"/> <xsd:element minOccurs="0" maxOccurs="1" name="Count" type="PositiveInteger"/> This PositiveInteger rule excludes 0. According to my understanding of the RFC 2445, to have a "forever" recurring rule, COUNT=0 is never used... the COUNT is just dropped. Modified: format-plugins/vformat/src/xmlformat-recurrence.c Modified: format-plugins/vformat/src/xmlformat-recurrence.c ============================================================================== --- format-plugins/vformat/src/xmlformat-recurrence.c Tue Jun 29 04:17:12 2010 (r6049) +++ format-plugins/vformat/src/xmlformat-recurrence.c Thu Jul 1 05:47:31 2010 (r6050) @@ -494,10 +494,6 @@ if (rrules[3].value == NULL) rrules[3].value = "1"; - // set count to 0, if neither count nor until were set before - if (rrules[1].value == NULL && rrules[2].value == NULL) - rrules[2].value = "0"; - int i; for (i = 0; i <= 13; i++) { if (rrules[i].value != NULL) |
From: <svn...@op...> - 2010-06-29 02:17:20
|
Author: cdfrey Date: Tue Jun 29 04:17:12 2010 New Revision: 6049 URL: http://www.opensync.org/changeset/6049 Log: Fixed memory leak in osync_capabilities_unref() Modified: trunk/opensync/capabilities/opensync_capabilities.c Modified: trunk/opensync/capabilities/opensync_capabilities.c ============================================================================== --- trunk/opensync/capabilities/opensync_capabilities.c Tue Jun 29 04:13:17 2010 (r6048) +++ trunk/opensync/capabilities/opensync_capabilities.c Tue Jun 29 04:17:12 2010 (r6049) @@ -74,6 +74,7 @@ /* TODO unlink from list */ } osync_xml_free_doc(capabilities->doc); + osync_free(capabilities->format); osync_free(capabilities); } } |
From: <svn...@op...> - 2010-06-29 02:13:27
|
Author: cdfrey Date: Tue Jun 29 04:13:17 2010 New Revision: 6048 URL: http://www.opensync.org/changeset/6048 Log: Applied Daniel Gollub's patch to memory leak in osync_member_get_config_or_default Modified: trunk/opensync/group/opensync_member.c Modified: trunk/opensync/group/opensync_member.c ============================================================================== --- trunk/opensync/group/opensync_member.c Sat Jun 5 01:50:49 2010 (r6047) +++ trunk/opensync/group/opensync_member.c Tue Jun 29 04:13:17 2010 (r6048) @@ -294,6 +294,7 @@ goto error_free_config; osync_member_set_config(member, config); + osync_plugin_config_unref(config); osync_free(filename); |
From: <svn...@op...> - 2010-06-04 23:51:00
|
Author: vschreiner Date: Sat Jun 5 01:50:49 2010 New Revision: 6047 URL: http://www.opensync.org/changeset/6047 Log: the irmc plugin got ported to the current API (0.39). Modified: plugins/irmc-sync/src/irmc-sync plugins/irmc-sync/src/irmc_obex.c plugins/irmc-sync/src/irmc_sync.c Modified: plugins/irmc-sync/src/irmc-sync ============================================================================== --- plugins/irmc-sync/src/irmc-sync Tue Jun 1 01:51:19 2010 (r6046) +++ plugins/irmc-sync/src/irmc-sync Sat Jun 5 01:50:49 2010 (r6047) @@ -1,6 +1,55 @@ -<?xml version="1.0"?> -<config> - <connectmedium>bluetooth</connectmedium> - <btunit></btunit> - <btchannel></btchannel> -</config> +<config version="1.0"> + <Connection> + <ActiveConnection>Bluetooth</ActiveConnection> + <Bluetooth> + <MAC></MAC> + <RFCommChannel></RFCommChannel> + <SDPUUID></SDPUUID> + </Bluetooth> + </Connection> + <Resources> + <Resource> + <Enabled>1</Enabled> + <Formats> + <Format> + <Name>vcard21</Name> + </Format> + <Format> + <Name>vcard30</Name> + </Format> + </Formats> + <ObjType>contact</ObjType> + <Url>default</Url> + </Resource> + <Resource> + <Enabled>1</Enabled> + <Formats> + <Format> + <Name>vevent20</Name> + </Format> + </Formats> + <ObjType>event</ObjType> + <Url>default</Url> + </Resource> + <Resource> + <Enabled>1</Enabled> + <Formats> + <Format> + <Name>vtodo20</Name> + </Format> + </Formats> + <ObjType>todo</ObjType> + <Url>default</Url> + </Resource> + <Resource> + <Enabled>1</Enabled> + <Formats> + <Format> + <Name>vjournal</Name> + </Format> + </Formats> + <ObjType>note</ObjType> + <Url>default</Url> + </Resource> + </Resources> +</config> \ No newline at end of file Modified: plugins/irmc-sync/src/irmc_obex.c ============================================================================== --- plugins/irmc-sync/src/irmc_obex.c Tue Jun 1 01:51:19 2010 (r6046) +++ plugins/irmc-sync/src/irmc_obex.c Sat Jun 5 01:50:49 2010 (r6047) @@ -441,6 +441,7 @@ } obex_t* irmc_obex_client(irmc_config *config) { + osync_trace(TRACE_ENTRY, "%s(%p)", __func__, config); obex_ctrans_t bttrans; #ifdef HAVE_COBEX obex_ctrans_t cabletrans = { obex_cable_connect, cobex_disconnect, @@ -526,7 +527,8 @@ #endif break; } - OBEX_SetUserData(handle, (gpointer) userdata); + OBEX_SetUserData(handle, userdata); + osync_trace(TRACE_EXIT, "%s(%p)", __func__, handle); return(handle); } @@ -537,7 +539,8 @@ obex_headerdata_t hd; obexdata_t *userdata; struct sockaddr_un addr; - + if( handle == NULL ) + return FALSE; userdata = (obexdata_t*) OBEX_GetUserData(handle); userdata->connected = 0; @@ -570,6 +573,7 @@ ret = OBEX_Request(handle, object); if (ret < 0) { osync_error_set(error, OSYNC_ERROR_GENERIC, "Cannot connect via OBEX."); + osync_trace(TRACE_EXIT_ERROR, "%s (%p)", __func__, handle); return FALSE; } } @@ -589,6 +593,7 @@ g_free(serial); irmc_obex_disconnect(handle, error); osync_error_set(error, OSYNC_ERROR_GENERIC, "Cannot connect via OBEX."); + osync_trace(TRACE_EXIT_ERROR, "%s (%p)", __func__, handle); return FALSE; } g_free(serial); @@ -597,24 +602,25 @@ #endif } // Connected and serial number is OK! - osync_trace(TRACE_EXIT, "%s", __func__); + osync_trace(TRACE_EXIT, "%s (%p)", __func__, handle); return TRUE; } osync_error_set(error, OSYNC_ERROR_GENERIC, "Cannot connect via OBEX."); - osync_trace(TRACE_EXIT_ERROR, "%s", __func__); + osync_trace(TRACE_EXIT_ERROR, "%s (%p)", __func__, handle); return FALSE; } gboolean irmc_obex_disconnect(obex_t* handle, OSyncError **error) { + osync_trace(TRACE_ENTRY, "%s(%p %p)", __func__, handle, error); obex_object_t *object; obexdata_t *userdata; - - userdata = (obexdata_t*) OBEX_GetUserData(handle); + userdata = (obexdata_t*) OBEX_GetUserData(handle); if (userdata->connected) { if ((object = OBEX_ObjectNew(handle, OBEX_CMD_DISCONNECT))) { userdata->busy = 1; if(OBEX_Request(handle, object) < 0) { osync_error_set(error, OSYNC_ERROR_GENERIC, "Cannot disconnect from OBEX."); + osync_trace(TRACE_EXIT, "%s Cannot disconnect from OBEX.", __func__); return FALSE; } } @@ -625,10 +631,12 @@ OBEX_TransportDisconnect(handle); userdata->connected = 0; } + osync_trace(TRACE_EXIT, "%s", __func__); return TRUE; } void irmc_obex_cleanup(obex_t* handle) { + osync_trace(TRACE_ENTRY, "%s(%p)", __func__, handle); if (handle) { obexdata_t *userdata; @@ -636,6 +644,7 @@ OBEX_Cleanup(handle); g_free(userdata); } + osync_trace(TRACE_EXIT, "%s", __func__); } // Return the serial number of an already connected device. Modified: plugins/irmc-sync/src/irmc_sync.c ============================================================================== --- plugins/irmc-sync/src/irmc_sync.c Tue Jun 1 01:51:19 2010 (r6046) +++ plugins/irmc-sync/src/irmc_sync.c Sat Jun 5 01:50:49 2010 (r6047) @@ -190,14 +190,14 @@ osync_plugin_connection_serial_set_devicenode( conn, devnode ); strncpy( config->cabledev, devnode, 127 ); } - - if( !strcmp( osync_plugin_config_get_advancedoption_value_by_name(configdata, "donttellsync"), "true" )) + const char *dtstmp = osync_plugin_config_get_advancedoption_value_by_name(configdata, "donttellsync"); + if( dtstmp ) { - config->donttellsync = TRUE; - } else { - config->donttellsync = FALSE; + if( !strcmp( dtstmp, "true" )) + { + config->donttellsync = TRUE; + } } - // FIXME: implement parsing of config->cabletype! osync_trace(TRACE_EXIT, "%s", __func__); return TRUE; @@ -366,7 +366,7 @@ /** * Creates the addressbook specific changeinfo for slow- and fastsync */ -void create_addressbook_changeinfo(int sync_type, OSyncObjTypeSink *sink, OSyncContext *ctx, char *data, char *luid, int type, void *userdata) +static void create_addressbook_changeinfo(int sync_type, OSyncObjTypeSink *sink, OSyncContext *ctx, char *data, char *luid, int type, void *userdata) { osync_trace(TRACE_ENTRY, "%s(%i, %p, %p, %s, %i)", __func__, sync_type, ctx, data, luid, type); osync_trace(TRACE_SENSITIVE, "Content of data:\n%s", data); @@ -447,7 +447,7 @@ /** * Creates the notebook specific changeinfo for slow- and fastsync */ -void create_notebook_changeinfo(int sync_type, OSyncObjTypeSink *sink, OSyncContext *ctx, char *data, char *luid, int type, void *userdata) +static void create_notebook_changeinfo(int sync_type, OSyncObjTypeSink *sink, OSyncContext *ctx, char *data, char *luid, int type, void *userdata) { osync_trace(TRACE_ENTRY, "%s(%i, %p, %p, %s, %i)", __func__, sync_type, ctx, data, luid, type); osync_trace(TRACE_SENSITIVE, "Content of data:\n%s", data); @@ -536,7 +536,7 @@ * - create_addressbook_changeinfo() * - create_notebook_changeinfo() */ -gboolean get_generic_changeinfo(irmc_environment *env, OSyncObjTypeSink *sink, OSyncPluginInfo *oinfo, OSyncContext *ctx, data_type_information *info, void *userdata, OSyncError **error) +gboolean get_generic_changeinfo(irmc_environment *env, OSyncObjTypeSink *sink, OSyncPluginInfo *oinfo, OSyncContext *ctx, data_type_information *info, osync_bool slow_sync, void *userdata, OSyncError **error) { osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p, %p)", __func__, env, info, ctx, info, error); @@ -554,12 +554,10 @@ buffer = g_malloc(DATABUFSIZE); - osync_trace(TRACE_INTERNAL, "syncing %s\n", info->name ); memset(buffer, 0, DATABUFSIZE); // check whether we have to do a slowsync - if (osync_objtype_sink_get_slowsync(sink) == TRUE) { - osync_trace(TRACE_INTERNAL, "slowsync %s\n", info->name ); + if (slow_sync) { buffer_length = DATABUFSIZE; if (config->donttellsync) { // reconnect with "IRMC-SYNC" to get X-IRMC-LUID @@ -573,7 +571,8 @@ } } } - + if( !config->obexhandle ) + goto error; // get $objecttype/info.log for debugging memset(buffer, 0, DATABUFSIZE); buffer_length = DATABUFSIZE; @@ -868,12 +867,13 @@ */ const char *objtype = osync_objtype_sink_get_name(sink); - //you can also use the anchor system to detect a device reset //or some parameter change here. Check the docs to see how it works //Now you get the last stored anchor from the device + /* OSyncSinkStateDB *state_db = osync_objtype_sink_get_state_db(sink); - + assert(state_db); + osync_trace(TRACE_INTERNAL, "%s(after get_state_db )", __func__); char *anchor = osync_sink_state_get(state_db, env->anchor_path, &error ); if( !anchor) { @@ -888,7 +888,7 @@ g_free( anchor ); osync_context_report_success(ctx); osync_trace(TRACE_EXIT, "%s", __func__); - return; + return;*/ if (env->isConnected == 0) { @@ -908,7 +908,7 @@ env->isConnected++; // check whether a slowsync is necessary - gboolean slowsync = FALSE; +/* gboolean slowsync = FALSE; if (!detect_slowsync(database->changecounter, database->obex_db, &(database->dbid), &(config->serial_number), &slowsync, config->obexhandle, &error)) { @@ -923,15 +923,15 @@ osync_objtype_sink_set_slowsync(sink, TRUE); } else { osync_trace(TRACE_INTERNAL, "No slowsync required"); - } + } */ osync_context_report_success(ctx); - + return; error: osync_context_report_osyncerror(ctx, error); osync_trace(TRACE_EXIT_ERROR, "%s: %s", __func__, osync_error_print(&error)); osync_error_unref(&error); - + return; } /** @@ -941,7 +941,8 @@ { osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, userdata, info, ctx); - irmc_environment *env = (irmc_environment *)userdata; + irmc_database *database = (irmc_database *)userdata; + irmc_environment *env = database->env; // disconnect from the device if (env->isConnected <= 1) { @@ -950,7 +951,7 @@ env->isConnected--; } OSyncPluginConfig *origconf = osync_plugin_info_get_config(info); - save_sync_anchors(sink, origconf, env); + //save_sync_anchors(sink, origconf, env); osync_context_report_success(ctx); @@ -962,27 +963,45 @@ */ static void irmcSyncDone(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, void *userdata) { - osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, userdata, info, ctx); + osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, sink, info, ctx, userdata); - irmc_database *database = (irmc_database *)userdata; +/* irmc_database *database = (irmc_database *)userdata; irmc_environment *env = database->env; - const char *objtype = osync_objtype_sink_get_name(sink); - if (database->changecounter >= 0 && strcmp(database->dbid, "FFFFFF")) { - +*/ /* FIXME port to SinkStateDb */ #if 0 char *anchor = g_strdup_printf("%d:%s", database->changecounter, database->dbid); osync_anchor_update( env->anchor_path, objtype, anchor ); g_free(anchor); #endif - } else { +/* } else { osync_trace(TRACE_INTERNAL, "ERROR: Invalid values for event anchor detected."); } osync_context_report_success(ctx); - osync_trace(TRACE_EXIT, "%s", __func__); + osync_trace(TRACE_EXIT, "%s", __func__);*/ + + + OSyncError *error = NULL; +/* + irmc_database *database = userdata; + OSyncSinkStateDB *state_db = osync_objtype_sink_get_state_db(sink); + + if (!osync_sink_state_set(state_db, "path", database->env->anchor_path, &error)) + goto error; +*/ + osync_context_report_success(ctx); + + osync_trace(TRACE_EXIT, "%s", __func__); + return; + +error: + osync_context_report_osyncerror(ctx, error); + osync_trace(TRACE_EXIT_ERROR, "%s: %s", __func__, osync_error_print(&error)); + osync_error_unref(&error); + return; } /** @@ -992,7 +1011,7 @@ */ static void irmcCalendarGetChangeinfo(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, osync_bool slow_sync, void *userdata) { - osync_trace(TRACE_ENTRY, "%p, %p, %p)", __func__, userdata, info, ctx); + osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, userdata, info, ctx); OSyncError *error = 0; irmc_database *database = (irmc_database *)userdata; @@ -1008,7 +1027,7 @@ datainfo.change_counter = &(database->changecounter); - if (!get_generic_changeinfo(env, sink, info, ctx, &datainfo, userdata, &error)) + if (!get_generic_changeinfo(env, sink, info, ctx, &datainfo, slow_sync, userdata, &error)) goto error; osync_context_report_success(ctx); @@ -1042,7 +1061,7 @@ strcpy(datainfo.path_extension, "vcf"); datainfo.change_counter = &(database->changecounter); - if (!get_generic_changeinfo(env, sink, info, ctx, &datainfo, userdata, &error)) + if (!get_generic_changeinfo(env, sink, info, ctx, &datainfo, slow_sync, userdata, &error)) goto error; osync_context_report_success(ctx); @@ -1061,7 +1080,7 @@ */ static void irmcNoteGetChangeinfo(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, osync_bool slow_sync, void *userdata) { - osync_trace(TRACE_ENTRY, "%p, %p, %p)", __func__, userdata, info, ctx); + osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, userdata, info, ctx); OSyncError *error = 0; irmc_database *database = (irmc_database *)userdata; @@ -1077,7 +1096,7 @@ strcpy(datainfo.path_extension, "vnt"); datainfo.change_counter = &(database->changecounter); - if (!get_generic_changeinfo(env, sink, info, ctx, &datainfo, userdata, &error)) + if (!get_generic_changeinfo(env, sink, info, ctx, &datainfo, slow_sync, userdata, &error)) goto error; osync_context_report_success(ctx); @@ -1307,13 +1326,19 @@ while (env->databases) { irmc_database *db = env->databases->data; - if(db->sink) osync_objtype_sink_unref(db->sink); - if(db->dbid) g_free(db->dbid); + + if(db->sink) + osync_objtype_sink_unref(db->sink); + + if(db->dbid) + g_free(db->dbid); + g_free(db); env->databases = g_list_remove(env->databases, db); } - if(config->serial_number) g_free(config->serial_number); + if(config->serial_number) + g_free(config->serial_number); g_free(env); @@ -1348,13 +1373,13 @@ return TRUE; } -static irmc_database *create_database(OSyncPluginInfo *info, OSyncObjTypeSink *sink, const char *format, char *obex_db, OSyncSinkGetChangesFn getchanges, OSyncSinkCommitFn commit, OSyncError **error) +static irmc_database *create_database(OSyncPluginInfo *info, OSyncObjTypeSink *sink, const char *format, char *obex_db, OSyncError **error) { - osync_trace(TRACE_ENTRY, "%s(%p, %s, %s, %p)", __func__, info, sink, format, error); + const char *objtype = osync_objtype_sink_get_name(sink); + osync_trace(TRACE_ENTRY, "%s(%p, %s, %s, %p)", __func__, info, objtype, format, error); OSyncFormatEnv *formatenv = osync_plugin_info_get_format_env(info); - const char *objtype = osync_objtype_sink_get_name(sink); irmc_database *database = osync_try_malloc0(sizeof(irmc_database), error); if (!database) goto error; @@ -1363,23 +1388,12 @@ if (!database->sink) goto error_free_db; - osync_objtype_sink_set_connect_func(database->sink, irmcConnect); - osync_objtype_sink_set_disconnect_func(database->sink, irmcDisconnect); - osync_objtype_sink_set_get_changes_func(database->sink, getchanges); - osync_objtype_sink_set_commit_func(database->sink, commit); - osync_objtype_sink_set_sync_done_func(database->sink, irmcSyncDone); - - database->objformat = osync_format_env_find_objformat(formatenv, format); if (!database->objformat) { osync_error_set(error, OSYNC_ERROR_GENERIC, "Can't find object format \"%s\" for object type \"%s\"! " "Is the vformat plugin correctly installed?", format, objtype); goto error_free_db; } - osync_objtype_sink_add_objformat_sink(database->sink, format); - - osync_plugin_info_add_objtype(info, database->sink); - database->obex_db = obex_db; osync_trace(TRACE_EXIT, "%s: %p", __func__, database); @@ -1457,15 +1471,37 @@ OSyncObjTypeSink *sink = (OSyncObjTypeSink *) s->data; const char *objtype = osync_objtype_sink_get_name(sink); - - if (!strcmp(objtype, "contact")) - contactdb = create_database(info, sink, "vcard21", "pb", irmcContactGetChangeinfo, irmcContactCommitChange, error); - else if (!strcmp(objtype, "event")) - eventdb = create_database(info, sink, "vevent10", "cal", irmcCalendarGetChangeinfo, irmcCalendarCommitChange, error); - else if (!strcmp(objtype, "todo")) - tododb = create_database(info, sink, "vtodo10", "cal", irmcCalendarGetChangeinfo, irmcCalendarCommitChange, error); - else if (!strcmp(objtype, "note")) - notedb = create_database(info, sink, "vnote11", "nt", irmcNoteGetChangeinfo, irmcNoteCommitChange, error); + osync_objtype_sink_set_connect_func(sink, irmcConnect); + osync_objtype_sink_set_disconnect_func(sink, irmcDisconnect); + osync_objtype_sink_set_sync_done_func(sink, irmcSyncDone); + if (!strcmp(objtype, "contact")) { + contactdb = create_database(info, sink, "vcard21", "pb", error); + osync_objtype_sink_set_get_changes_func(sink, irmcContactGetChangeinfo); + osync_objtype_sink_set_commit_func(sink, irmcContactCommitChange); + osync_objtype_sink_set_userdata(sink, contactdb); + } else if (!strcmp(objtype, "event")) { + eventdb = create_database(info, sink, "vevent10", "cal", error); + osync_objtype_sink_set_get_changes_func(sink, irmcCalendarGetChangeinfo); + osync_objtype_sink_set_commit_func(sink, irmcCalendarCommitChange); + osync_objtype_sink_set_userdata(sink, eventdb); + } else if (!strcmp(objtype, "todo")) { + tododb = create_database(info, sink, "vtodo10", "cal", error); + osync_objtype_sink_set_get_changes_func(sink, irmcCalendarGetChangeinfo); + osync_objtype_sink_set_commit_func(sink, irmcCalendarCommitChange); + osync_objtype_sink_set_userdata(sink,tododb); + } else if (!strcmp(objtype, "note")) { + notedb = create_database(info, sink, "vnote11", "nt", error); + osync_objtype_sink_set_get_changes_func(sink, irmcNoteGetChangeinfo); + osync_objtype_sink_set_commit_func(sink, irmcNoteCommitChange); + osync_objtype_sink_set_userdata(sink,notedb); + } + OSyncPluginResource *res = osync_plugin_config_find_active_resource(configdata, objtype); + OSyncList *s = osync_plugin_resource_get_objformat_sinks(res); + for (; s; s = s->next) { + OSyncObjFormatSink *fsink = s->data; + osync_objtype_sink_add_objformat_sink(sink, fsink); + } + osync_plugin_info_add_objtype(info, sink); } if (!contactdb || !eventdb || !tododb || !notedb) @@ -1476,10 +1512,10 @@ tododb->env = env; notedb->env = env; - env->databases = g_list_append(env->databases, contactdb); - env->databases = g_list_append(env->databases, eventdb); - env->databases = g_list_append(env->databases, tododb); - env->databases = g_list_append(env->databases, notedb); + env->databases = g_list_append(env->databases, contactdb); + env->databases = g_list_append(env->databases, eventdb); + env->databases = g_list_append(env->databases, tododb); + env->databases = g_list_append(env->databases, notedb); // return the environment osync_trace(TRACE_EXIT, "%s: %p", __func__, env); @@ -1508,7 +1544,7 @@ osync_plugin_set_finalize(plugin, irmcFinalize); osync_plugin_set_discover(plugin, irmcDiscover); - osync_plugin_env_register_plugin(env, plugin); + osync_plugin_env_register_plugin(env, plugin, error); osync_plugin_unref(plugin); return TRUE; |
From: <svn...@op...> - 2010-05-31 23:51:29
|
Author: cdfrey Date: Tue Jun 1 01:51:19 2010 New Revision: 6046 URL: http://www.opensync.org/changeset/6046 Log: Removed unused variables (compiler warnings) Modified: format-plugins/xmlformat/trunk/src/xmlformat_merge.c format-plugins/xmlformat/trunk/tests/check_merger.c Modified: format-plugins/xmlformat/trunk/src/xmlformat_merge.c ============================================================================== --- format-plugins/xmlformat/trunk/src/xmlformat_merge.c Sun Apr 18 10:49:40 2010 (r6045) +++ format-plugins/xmlformat/trunk/src/xmlformat_merge.c Tue Jun 1 01:51:19 2010 (r6046) @@ -219,9 +219,9 @@ /* check the secound level here */ if(osync_capability_get_childs(cur_capability)) /* if there is no key - it means that the xmlfield can handle all keys */ { - int i, j=0; + int j=0; int capability_keys = osync_list_length(osync_capability_get_childs(cur_capability)); - int xmlfield_keys = osync_xmlfield_get_key_count(cur_xmlfield); + //int xmlfield_keys = osync_xmlfield_get_key_count(cur_xmlfield); OSyncXMLField *child_xmlfield = osync_xmlfield_get_child(cur_xmlfield); Modified: format-plugins/xmlformat/trunk/tests/check_merger.c ============================================================================== --- format-plugins/xmlformat/trunk/tests/check_merger.c Sun Apr 18 10:49:40 2010 (r6045) +++ format-plugins/xmlformat/trunk/tests/check_merger.c Tue Jun 1 01:51:19 2010 (r6046) @@ -108,7 +108,7 @@ OSyncCapabilitiesObjType *capsobjtype = osync_capabilities_get_objtype(capabilities, "contact"); OSyncList *caplist = osync_capabilities_objtype_get_caps(capsobjtype); for (; caplist; caplist = caplist->next) { - OSyncCapability *cap_cur = (OSyncCapability *) caplist->data; + //OSyncCapability *cap_cur = (OSyncCapability *) caplist->data; //printf("Capability: %s\n", osync_capability_get_name(cap_cur)); } |
From: <svn...@op...> - 2010-04-18 08:49:51
|
Author: dgollub Date: Sun Apr 18 10:49:40 2010 New Revision: 6045 URL: http://www.opensync.org/changeset/6045 Log: Make serialization of username optional, depending on support flags. Fixes issues with Barry plugin. Patch by Nicolas Modified: trunk/opensync/ipc/opensync_serializer.c Modified: trunk/opensync/ipc/opensync_serializer.c ============================================================================== --- trunk/opensync/ipc/opensync_serializer.c Sun Feb 28 18:40:50 2010 (r6044) +++ trunk/opensync/ipc/opensync_serializer.c Sun Apr 18 10:49:40 2010 (r6045) @@ -1358,6 +1358,7 @@ return FALSE; } +#define MARSHAL_PLUGINAUTEHNTICATION_USERNAME (1 << 0) #define MARSHAL_PLUGINAUTEHNTICATION_PASSWORD (1 << 1) #define MARSHAL_PLUGINAUTEHNTICATION_REFERENCE (1 << 2) @@ -1382,12 +1383,20 @@ * */ - username = osync_plugin_authentication_get_username(auth); - password = osync_plugin_authentication_get_password(auth); - reference = osync_plugin_authentication_get_reference(auth); + if (osync_plugin_authentication_option_is_supported(auth, OSYNC_PLUGIN_AUTHENTICATION_USERNAME)) + username = osync_plugin_authentication_get_username(auth); + + if (osync_plugin_authentication_option_is_supported(auth, OSYNC_PLUGIN_AUTHENTICATION_PASSWORD)) + password = osync_plugin_authentication_get_password(auth); + + if (osync_plugin_authentication_option_is_supported(auth, OSYNC_PLUGIN_AUTHENTICATION_REFERENCE)) + reference = osync_plugin_authentication_get_reference(auth); osync_assert(username); + if (username) + available_fields |= MARSHAL_PLUGINAUTEHNTICATION_USERNAME; + if (password) available_fields |= MARSHAL_PLUGINAUTEHNTICATION_PASSWORD; @@ -1396,7 +1405,8 @@ osync_message_write_uint(message, available_fields, error); - osync_message_write_string(message, username, error); + if (username) + osync_message_write_string(message, username, error); if (password) osync_message_write_string(message, password, error); @@ -1420,6 +1430,9 @@ char *password = NULL; char *reference = NULL; + // Supported options by default : none + OSyncPluginAuthenticationOptionSupportedFlags supported_options = 0; + osync_assert(message); /* @@ -1440,16 +1453,20 @@ if (!osync_message_read_uint(message, &available_fields, error)) goto error; - if (!osync_message_read_string(message, &username, error)) - goto error; + if (available_fields & MARSHAL_PLUGINAUTEHNTICATION_USERNAME) { + if (!osync_message_read_string(message, &username, error)) + goto error; - osync_plugin_authentication_set_username(*auth, username); - osync_free(username); + supported_options |= OSYNC_PLUGIN_AUTHENTICATION_USERNAME; + osync_plugin_authentication_set_username(*auth, username); + osync_free(username); + } if (available_fields & MARSHAL_PLUGINAUTEHNTICATION_PASSWORD) { if (!osync_message_read_string(message, &password, error)) goto error; + supported_options |= OSYNC_PLUGIN_AUTHENTICATION_PASSWORD; osync_plugin_authentication_set_password(*auth, password); osync_free(password); } @@ -1458,10 +1475,13 @@ if (!osync_message_read_string(message, &reference, error)) goto error; + supported_options |= OSYNC_PLUGIN_AUTHENTICATION_REFERENCE; osync_plugin_authentication_set_reference(*auth, reference); osync_free(reference); } + osync_plugin_authentication_option_set_supported(*auth, supported_options); + return TRUE; error: return FALSE; |
From: <svn...@op...> - 2010-03-29 09:10:18
|
Author: bellmich Date: Mon Mar 29 11:10:04 2010 New Revision: 228 URL: http://libwbxml.opensync.org/changeset/228 Log: sf.net has a new FRS Modified: wbxml2/trunk/RELEASE Modified: wbxml2/trunk/RELEASE ============================================================================== --- wbxml2/trunk/RELEASE Mon Mar 29 11:00:08 2010 (r227) +++ wbxml2/trunk/RELEASE Mon Mar 29 11:10:04 2010 (r228) @@ -59,10 +59,7 @@ md5sum -c libwbxml-$MAJOR.$MINOR.$PATCH.md5sum - upload the tarballs and the checksum file to the File Release System - of SourceForge - "sftp $US...@fr...", - "cd uploads", - "put libwbxml-$MAJOR.$MINOR.$PATCH.*" + of SourceForge via the web interface - Annouce the release on the mailing list Tips: |
From: <svn...@op...> - 2010-03-01 17:37:35
|
Author: bellmich Date: Mon Mar 1 18:37:25 2010 New Revision: 1363 URL: http://libsyncml.opensync.org/changeset/1363 Log: fixed ticket #262 Modified: trunk/libsyncml/sml_session.c trunk/tests/check_session.c Modified: trunk/libsyncml/sml_session.c ============================================================================== --- trunk/libsyncml/sml_session.c Mon Mar 1 18:36:57 2010 (r1362) +++ trunk/libsyncml/sml_session.c Mon Mar 1 18:37:25 2010 (r1363) @@ -762,6 +762,36 @@ return; } +void +smlSessionIgnoreCommandStatusCallback (SmlSession *session, + SmlStatus *status, + void *userdata) +{ + smlTrace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, session, status, userdata); + SmlCommand *cmd = userdata; + SmlErrorType errorCode = atoi(smlStatusGetData(status)); + if ((errorCode < 199 || 300 < errorCode) && + errorCode != 508) + { + /* This is an error. */ + if (smlCommandGetAlertType(cmd) == SML_ALERT_NEXT_MESSAGE) + { + /* The status of this command must be ignored + * because some mobiles like LG KM900 support large objects + * but do not understand the next message alert. + */ + smlTrace(TRACE_INTERNAL, "%s: Ignoring error status for next message alert.", __func__); + } + g_warning("The commmand %d of message %d was replied with status code %d.", + smlStatusGetCommandRef(status), + smlStatusGetMessageRef(status), + errorCode); + } + smlCommandUnref(cmd); + + smlTrace(TRACE_EXIT, "%s", __func__); +} + gboolean smlSessionReceiveHeader (SmlSession *session, SmlHeader *header, @@ -1314,6 +1344,7 @@ if (smlCommandGetType(cmd) == SML_COMMAND_TYPE_ALERT) { smlTrace(TRACE_INTERNAL, "%s: ALERT with RESULT_NORMAL", __func__); if (smlCommandGetAlertType(cmd) == SML_ALERT_NEXT_MESSAGE) { + smlTrace(TRACE_INTERNAL, "%s: NEXT MESSAGE", __func__); SmlStatus *reply = smlCommandNewReply(cmd, SML_NO_ERROR, error); if (!reply) goto error; @@ -1743,7 +1774,23 @@ if (!_smlSessionEndCommandInternal(session, NULL, error)) goto error; - smlCommandUnref(alert); + /* The status of this command must be ignored + * because some mobiles like LG KM900 support large objects + * but do not understand the next message alert. + */ + SmlPendingStatus *pending = smlTryMalloc0(sizeof(SmlPendingStatus), error); + if (!pending) { + session->lastCommandID--; + goto error; + } + + pending->callback = smlSessionIgnoreCommandStatusCallback; + pending->userdata = alert; + pending->cmdID = smlCommandGetID(alert); + pending->msgID = session->lastMessageID; + + smlTrace(TRACE_INTERNAL, "%s: Appending pending next message status with cmdID %i and msgID %i", __func__, pending->cmdID, pending->msgID); + session->pendingReplies = g_list_append(session->pendingReplies, pending); } /* Anything is fine and nobody else want to send a reply * to the received message. So the library flushs now. Modified: trunk/tests/check_session.c ============================================================================== --- trunk/tests/check_session.c Mon Mar 1 18:36:57 2010 (r1362) +++ trunk/tests/check_session.c Mon Mar 1 18:37:25 2010 (r1363) @@ -1433,7 +1433,7 @@ smlTransportDataDeref(to_session2); to_session2 = NULL; - const char *input2 = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>2</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data></Item></Add></Sync><Final></Final></SyncBody></SyncML>"; + const char *input2 = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>2</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Status><CmdID>1</CmdID><MsgRef>1</MsgRef><CmdRef>4</CmdRef><Cmd>Alert</Cmd><Data>200</Data></Status><Sync><CmdID>2</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><Add><CmdID>3</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data></Item></Add></Sync><Final></Final></SyncBody></SyncML>"; parser = smlParserNew(SML_MIMETYPE_XML, 0, &error); sml_fail_unless(parser != NULL, NULL); @@ -1514,7 +1514,7 @@ smlTransportDataDeref(to_session2); to_session2 = NULL; - const char *input2 = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>2</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData/></Item></Add></Sync></SyncBody></SyncML>"; + const char *input2 = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>2</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Status><CmdID>1</CmdID><MsgRef>1</MsgRef><CmdRef>4</CmdRef><Cmd>Alert</Cmd><Data>200</Data></Status><Sync><CmdID>2</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><Add><CmdID>3</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData/></Item></Add></Sync></SyncBody></SyncML>"; parser = smlParserNew(SML_MIMETYPE_XML, 0, &error); sml_fail_unless(parser != NULL, NULL); @@ -1544,7 +1544,7 @@ smlTransportDataDeref(to_session2); to_session2 = NULL; - input2 = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>3</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData/></Item></Add></Sync></SyncBody></SyncML>"; + input2 = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>3</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Status><CmdID>1</CmdID><MsgRef>2</MsgRef><CmdRef>8</CmdRef><Cmd>Alert</Cmd><Data>200</Data></Status><Sync><CmdID>2</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><Add><CmdID>3</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData/></Item></Add></Sync></SyncBody></SyncML>"; parser = smlParserNew(SML_MIMETYPE_XML, 0, &error); sml_fail_unless(parser != NULL, NULL); @@ -1574,7 +1574,7 @@ smlTransportDataDeref(to_session2); to_session2 = NULL; - input2 = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>4</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[datatest]]></Data></Item></Add></Sync><Final></Final></SyncBody></SyncML>"; + input2 = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>4</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Status><CmdID>1</CmdID><MsgRef>3</MsgRef><CmdRef>12</CmdRef><Cmd>Alert</Cmd><Data>200</Data></Status><Sync><CmdID>2</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><Add><CmdID>3</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[datatest]]></Data></Item></Add></Sync><Final></Final></SyncBody></SyncML>"; parser = smlParserNew(SML_MIMETYPE_XML, 0, &error); sml_fail_unless(parser != NULL, NULL); |
From: <svn...@op...> - 2010-03-01 17:37:10
|
Author: bellmich Date: Mon Mar 1 18:36:57 2010 New Revision: 1362 URL: http://libsyncml.opensync.org/changeset/1362 Log: fixed ticket #261 Modified: trunk/libsyncml/parser/sml_xml_parse.c trunk/libsyncml/sml_command.c trunk/libsyncml/sml_command_internals.h trunk/libsyncml/sml_defines.h Modified: trunk/libsyncml/parser/sml_xml_parse.c ============================================================================== --- trunk/libsyncml/parser/sml_xml_parse.c Wed Feb 24 11:34:03 2010 (r1361) +++ trunk/libsyncml/parser/sml_xml_parse.c Mon Mar 1 18:36:57 2010 (r1362) @@ -1682,6 +1682,9 @@ if (!_smlXmlParserGetID(parser, &id, SML_ELEMENT_CMDID, error)) goto error_free_cmd; (*cmd)->cmdID = id; + } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_LANG)) { + if (!_smlXmlParserGetString(parser, &((*cmd)->private.access.lang), SML_ELEMENT_LANG, error)) + goto error_free_cmd; } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_ITEM)) { (*cmd)->private.access.item = _smlItemParse(parser, (*cmd), (*cmd)->type, error); if (!(*cmd)->private.access.item) Modified: trunk/libsyncml/sml_command.c ============================================================================== --- trunk/libsyncml/sml_command.c Wed Feb 24 11:34:03 2010 (r1361) +++ trunk/libsyncml/sml_command.c Mon Mar 1 18:36:57 2010 (r1362) @@ -403,6 +403,9 @@ if (cmd->private.access.type) smlSafeCFree(&(cmd->private.access.type)); + if (cmd->private.access.lang) + smlSafeCFree(&(cmd->private.access.lang)); + if (cmd->private.access.item) smlItemUnref(cmd->private.access.item); break; Modified: trunk/libsyncml/sml_command_internals.h ============================================================================== --- trunk/libsyncml/sml_command_internals.h Wed Feb 24 11:34:03 2010 (r1361) +++ trunk/libsyncml/sml_command_internals.h Mon Mar 1 18:36:57 2010 (r1362) @@ -52,6 +52,7 @@ */ typedef struct SmlCommandAccessPrivate { gchar *type; + gchar *lang; SmlItem *item; } SmlCommandAccessPrivate; Modified: trunk/libsyncml/sml_defines.h ============================================================================== --- trunk/libsyncml/sml_defines.h Wed Feb 24 11:34:03 2010 (r1361) +++ trunk/libsyncml/sml_defines.h Mon Mar 1 18:36:57 2010 (r1362) @@ -62,6 +62,7 @@ #define SML_ELEMENT_FINAL "Final" #define SML_ELEMENT_DATA "Data" #define SML_ELEMENT_ITEM "Item" +#define SML_ELEMENT_LANG "Lang" #define SML_ELEMENT_META "Meta" #define SML_ELEMENT_MAXMSGSIZE "MaxMsgSize" #define SML_ELEMENT_TYPE "Type" |