Changeset 2424
- Timestamp:
- 08/06/07 19:00:03 (1 year ago)
- Files:
-
- plugins/irmc-sync/src/irmc_sync.c (modified) (22 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
plugins/irmc-sync/src/irmc_sync.c
r2421 r2424 268 268 * Creates the calendar specific changeinfo for slow- and fastsync 269 269 */ 270 void create_calendar_changeinfo(int sync_type, OSync Context *ctx, char *data, char *luid, int type)270 void create_calendar_changeinfo(int sync_type, OSyncPluginInfo *info, OSyncObjTypeSink *sink, OSyncContext *ctx, char *data, char *luid, int type) 271 271 { 272 272 osync_trace(TRACE_ENTRY, "%s(%i, %p, %p, %s, %i)", __func__, sync_type, ctx, data, luid, type); … … 274 274 275 275 OSyncError *error = NULL; 276 irmc_database *database = osync_objtype_sink_get_userdata(sink); 276 277 277 278 if (sync_type == SLOW_SYNC) { … … 314 315 315 316 317 OSyncData *odata = NULL; 318 //TODO: strlen() + 1 319 event_size = strlen(event); 320 316 321 if (objtype == SYNC_OBJECT_TYPE_CALENDAR) { 317 //osync_change_set_objformat_string(change, "vevent10");322 odata = osync_data_new(event, event_size, database->objformat, &error); 318 323 } else if (objtype == SYNC_OBJECT_TYPE_TODO) { 319 //osync_change_set_objformat_string(change, "vtodo10");324 odata = osync_data_new(event, event_size, database->objformat, &error); 320 325 } 321 326 … … 327 332 } 328 333 } 329 event_size = strlen(event); 330 331 // TODO set data 332 OSyncData *data = NULL; 333 // OSyncData *data = osync_data_new(event, event_size, objformatXXX, &error); 334 335 osync_change_set_data(change, data); 334 335 osync_change_set_data(change, odata); 336 336 osync_change_set_changetype(change, OSYNC_CHANGE_TYPE_ADDED); 337 337 osync_context_report_change(ctx, change); … … 345 345 g_assert(change); 346 346 347 //osync_change_set_objformat_string(change, "plain");348 347 osync_change_set_uid(change, g_strdup(luid)); 349 348 350 int event_size = strlen(data); 351 if (event_size > 0) { 352 event_size = strlen(data); 353 } else { 349 int event_size; 350 351 if (!data) { 354 352 data = NULL; 355 353 event_size = 0; 354 } else { 355 event_size = strlen(data); 356 356 } 357 357 … … 360 360 osync_change_set_changetype(change, OSYNC_CHANGE_TYPE_DELETED); 361 361 else if (type == 'M' || event_size == 0) { 362 // TODO set data 363 OSyncData *data = NULL; 364 // OSyncData *data = osync_data_new(event, event_size, objformatXXX, &error); 365 366 osync_change_set_data(change, data); 362 OSyncFormatEnv *formatenv = osync_plugin_info_get_format_env(info); 363 OSyncObjFormat *plain = osync_format_env_find_objformat(formatenv, "plain"); 364 OSyncData *odata = osync_data_new(data, event_size, plain, &error); 365 366 367 osync_change_set_data(change, odata); 367 368 osync_change_set_changetype(change, OSYNC_CHANGE_TYPE_MODIFIED); 368 369 } … … 376 377 * Creates the addressbook specific changeinfo for slow- and fastsync 377 378 */ 378 void create_addressbook_changeinfo(int sync_type, OSync Context *ctx, char *data, char *luid, int type)379 void create_addressbook_changeinfo(int sync_type, OSyncObjTypeSink *sink, OSyncContext *ctx, char *data, char *luid, int type) 379 380 { 380 381 osync_trace(TRACE_ENTRY, "%s(%i, %p, %p, %s, %i)", __func__, sync_type, ctx, data, luid, type); 381 382 osync_trace(TRACE_SENSITIVE, "Content of data:\n%s", data); 383 384 irmc_database *database = osync_objtype_sink_get_userdata(sink); 382 385 383 386 OSyncError *error = NULL; … … 412 415 } 413 416 } 417 418 // TODO: strlen() + 1 414 419 vcard_size = strlen(vcard); 415 // TODO set data 416 OSyncData *data = NULL; 417 // OSyncData *data = osync_data_new(vcard, vcard_size, objformatXXX, &error); 418 419 osync_change_set_data(change, data); 420 OSyncData *odata = osync_data_new(vcard, vcard_size, database->objformat, &error); 421 422 osync_change_set_data(change, odata); 420 423 421 424 osync_change_set_changetype(change, OSYNC_CHANGE_TYPE_ADDED); … … 429 432 g_assert(change); 430 433 431 //osync_change_set_objformat_string(change, "vcard21");432 434 osync_change_set_uid(change, g_strdup(luid)); 433 435 434 int vcard_size = strlen(data); 435 if (vcard_size > 0) { 436 int vcard_size; 437 if (!data) { 438 vcard_size = 0; 439 } else { 440 // TODO strlen() + 1? 436 441 vcard_size = strlen(data); 437 } else {438 vcard_size = 0;439 442 } 440 443 … … 444 447 else if (type == 'M' || vcard_size == 0) { 445 448 osync_change_set_changetype(change, OSYNC_CHANGE_TYPE_MODIFIED); 446 // TODO set data 447 OSyncData *data = NULL; 448 // OSyncData *data = osync_data_new(vcard, vcard_size, objformatXXX, &error); 449 450 osync_change_set_data(change, data); 449 OSyncData *odata = osync_data_new(data, vcard_size, database->objformat, &error); 450 451 osync_change_set_data(change, odata); 451 452 452 453 } … … 460 461 * Creates the notebook specific changeinfo for slow- and fastsync 461 462 */ 462 void create_notebook_changeinfo(int sync_type, OSync Context *ctx, char *data, char *luid, int type)463 void create_notebook_changeinfo(int sync_type, OSyncObjTypeSink *sink, OSyncContext *ctx, char *data, char *luid, int type) 463 464 { 464 465 osync_trace(TRACE_ENTRY, "%s(%i, %p, %p, %s, %i)", __func__, sync_type, ctx, data, luid, type); 465 466 osync_trace(TRACE_SENSITIVE, "Content of data:\n%s", data); 467 468 irmc_database *database = osync_objtype_sink_get_userdata(sink); 466 469 467 470 OSyncError *error = NULL; … … 497 500 } 498 501 502 // TODO: strlen() + 1 499 503 vnote_size = strlen(vnote); 500 // TODO set data 501 OSyncData *data = NULL; 502 // OSyncData *data = osync_data_new(vnote, vnote_size, objformatXXX, &error); 504 OSyncData *data = osync_data_new(vnote, vnote_size, database->objformat, &error); 503 505 504 506 osync_change_set_data(change, data); … … 518 520 osync_change_set_uid(change, g_strdup(luid)); 519 521 520 int vnote_size = strlen(data); 521 if (vnote_size > 0) { 522 vnote_size = strlen(data); 523 } else { 522 int vnote_size; 523 if (!data) { 524 524 data = NULL; 525 525 vnote_size = 0; 526 } else { 527 vnote_size = strlen(data); 526 528 } 527 529 … … 531 533 else if (type == 'M' || vnote_size == 0) { 532 534 osync_change_set_changetype(change, OSYNC_CHANGE_TYPE_MODIFIED); 533 // TODO set data 534 OSyncData *data = NULL; 535 // OSyncData *data = osync_data_new(vnote, vnote_size, objformatXXX, &error); 536 537 osync_change_set_data(change, data); 535 OSyncData *odata = osync_data_new(data, vnote_size, database->objformat, &error); 536 537 osync_change_set_data(change, odata); 538 538 } 539 539 … … 551 551 * - create_notebook_changeinfo() 552 552 */ 553 gboolean get_generic_changeinfo(irmc_environment *env, OSyncObjTypeSink *sink, OSyncContext *ctx, data_type_information *info, OSyncError **error) 554 { 555 osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p, %p)", __func__, env, sink, ctx, info, error); 553 gboolean get_generic_changeinfo(irmc_environment *env, OSyncPluginInfo *oinfo, OSyncContext *ctx, data_type_information *info, OSyncError **error) 554 { 555 osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p, %p)", __func__, env, info, ctx, info, error); 556 557 OSyncObjTypeSink *sink = osync_plugin_info_get_sink(oinfo); 556 558 557 559 char *buffer; … … 565 567 566 568 irmc_config *config = &(env->config); 569 567 570 568 571 buffer = g_malloc(DATABUFSIZE); … … 639 642 // handle object specific part 640 643 if ( strcmp( info->identifier, "event" ) == 0 ) 641 create_calendar_changeinfo( SLOW_SYNC, ctx, buffer, 0, 0 );644 create_calendar_changeinfo( SLOW_SYNC, oinfo, sink, ctx, buffer, 0, 0 ); 642 645 else if ( strcmp( info->identifier, "contact" ) == 0 ) 643 create_addressbook_changeinfo( SLOW_SYNC, ctx, buffer, 0, 0 );646 create_addressbook_changeinfo( SLOW_SYNC, sink, ctx, buffer, 0, 0 ); 644 647 else if ( strcmp( info->identifier, "note" ) == 0 ) 645 create_notebook_changeinfo( SLOW_SYNC, ctx, buffer, 0, 0 );648 create_notebook_changeinfo( SLOW_SYNC, sink, ctx, buffer, 0, 0 ); 646 649 647 650 } else { … … 726 729 // handle object specific part 727 730 if ( strcmp( info->identifier, "event" ) == 0 ) 728 create_calendar_changeinfo(FAST_SYNC, ctx, data, luid, type);731 create_calendar_changeinfo(FAST_SYNC, oinfo, sink, ctx, data, luid, type); 729 732 else if ( strcmp( info->identifier, "contact" ) == 0 ) 730 create_addressbook_changeinfo(FAST_SYNC, ctx, data, luid, type);733 create_addressbook_changeinfo(FAST_SYNC, sink, ctx, data, luid, type); 731 734 else if ( strcmp( info->identifier, "note" ) == 0 ) 732 create_notebook_changeinfo(FAST_SYNC, ctx, data, luid, type);735 create_notebook_changeinfo(FAST_SYNC, sink, ctx, data, luid, type); 733 736 } 734 737 … … 1016 1019 1017 1020 1018 if (!get_generic_changeinfo(env, sink, ctx, &datainfo, &error))1021 if (!get_generic_changeinfo(env, info, ctx, &datainfo, &error)) 1019 1022 goto error; 1020 1023 … … 1035 1038 static void irmcContactGetChangeinfo(void *data, OSyncPluginInfo *info, OSyncContext *ctx) 1036 1039 { 1037 osync_trace(TRACE_ENTRY, "% p, %p,%p)", __func__, data, info, ctx);1040 osync_trace(TRACE_ENTRY, "%s(%p,%p,%p)", __func__, data, info, ctx); 1038 1041 OSyncError *error = 0; 1039 1042 … … 1051 1054 datainfo.change_counter = &(database->changecounter); 1052 1055 1053 if (!get_generic_changeinfo(env, sink, ctx, &datainfo, &error))1056 if (!get_generic_changeinfo(env, info, ctx, &datainfo, &error)) 1054 1057 goto error; 1055 1058 … … 1086 1089 datainfo.change_counter = &(database->changecounter); 1087 1090 1088 if (!get_generic_changeinfo(env, sink, ctx, &datainfo, &error))1091 if (!get_generic_changeinfo(env, info, ctx, &datainfo, &error)) 1089 1092 goto error; 1090 1093
