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: <dg...@su...> - 2009-01-05 10:15:45
|
Author: bellmich Date: Mon Jan 5 11:15:25 2009 New Revision: 144 URL: http://libwbxml.opensync.org/changeset/144 Log: Added a note on external entities. Modified: wbxml2/trunk/RELEASE Modified: wbxml2/trunk/RELEASE ============================================================================== --- wbxml2/trunk/RELEASE Sun Dec 28 23:59:08 2008 (r143) +++ wbxml2/trunk/RELEASE Mon Jan 5 11:15:25 2009 (r144) @@ -32,7 +32,12 @@ - if someone else made changes and the commit fails, you have to "svn up" and run the tests again - - once the commit succeeds, "svn cp trunk tags/libwbxml-$MAJOR.$MINJOR.$PATCH" + - once the commit succeeds, you have to create a new tag with + "cp -R trunk tags/libwbxml-$MAJOR.$MINJOR.$PATCH", + "svn add tags/libwbxml-$MAJOR.$MINJOR.$PATCH" and + "svn commit tags/libwbxml-$MAJOR.$MINJOR.$PATCH" + (NEVER use "svn cp" because you must replace the external entities + of the trunk directory with hard copies of the actual state.) - create tarballs with "cmake $SOURCES; make package_source" (out of source build!) |
From: <dg...@su...> - 2009-01-05 10:08:12
|
Author: bellmich Date: Mon Jan 5 11:07:49 2009 New Revision: 883 URL: http://libsyncml.opensync.org/changeset/883 Log: no more memory leaks with "make ExperimentalMemCheck" Modified: trunk/tests/valgrind.supp Modified: trunk/tests/valgrind.supp ============================================================================== --- trunk/tests/valgrind.supp Mon Jan 5 11:07:01 2009 (r882) +++ trunk/tests/valgrind.supp Mon Jan 5 11:07:49 2009 (r883) @@ -188,3 +188,15 @@ fun:g_type_init } +{ + g_type_init - 6 + Memcheck:Leak + fun:malloc + fun:realloc + fun:g_realloc + obj:* + fun:g_type_register_fundamental + obj:* + fun:g_type_init_with_debug_flags + fun:g_type_init +} |
From: <dg...@su...> - 2009-01-05 10:07:22
|
Author: bellmich Date: Mon Jan 5 11:07:01 2009 New Revision: 882 URL: http://libsyncml.opensync.org/changeset/882 Log: updated links Modified: trunk/INSTALL Modified: trunk/INSTALL ============================================================================== --- trunk/INSTALL Mon Jan 5 11:02:18 2009 (r881) +++ trunk/INSTALL Mon Jan 5 11:07:01 2009 (r882) @@ -8,9 +8,9 @@ * libxml2 - http://xmlsoft.org Optional but recommended: - * wbxml2 - http://libwbxml.opensync.org/ - * libsoup (for HTTP transport) - http://www.gnome.org - * libopenobex (for OBEX transport) - http://dev.zuckschwerdt.org/openobex + * wbxml2 - http://libwbxml.opensync.org + * libsoup (for HTTP transport) - http://live.gnome.org/LibSoup + * libopenobex (for OBEX transport) - http://www.bluez.org/openobex-14/ Optional: * libcheck (for Unittests) - http://check.sourceforge.net @@ -19,8 +19,8 @@ separated build directory. -Example: Build with Unix Makefiles -================================== +Example: Use CMake build system +=============================== mkdir build cd build |
From: <dg...@su...> - 2009-01-05 10:02:46
|
Author: bricks Date: Mon Jan 5 11:02:18 2009 New Revision: 881 URL: http://libsyncml.opensync.org/changeset/881 Log: libwbxml is maintained by opensync Modified: trunk/INSTALL Modified: trunk/INSTALL ============================================================================== --- trunk/INSTALL Mon Jan 5 10:40:36 2009 (r880) +++ trunk/INSTALL Mon Jan 5 11:02:18 2009 (r881) @@ -8,12 +8,12 @@ * libxml2 - http://xmlsoft.org Optional but recommended: - * wbxml2 - http://libwbxml.aymerick.com + * wbxml2 - http://libwbxml.opensync.org/ * libsoup (for HTTP transport) - http://www.gnome.org * libopenobex (for OBEX transport) - http://dev.zuckschwerdt.org/openobex Optional: - * check (for Unittests) - http://check.sourceforge.net + * libcheck (for Unittests) - http://check.sourceforge.net We only support/test "out of source builds", which means you have to create a separated build directory. @@ -26,6 +26,6 @@ cd build cmake -DCMAKE_INSTALL_PREFIX=$prefix /path/to/libsyncml/source/ make -make test +make test (runs the testsuite if libcheck is installed) make install |
From: <dg...@su...> - 2009-01-05 09:46:39
|
Author: bricks Date: Mon Jan 5 10:46:15 2009 New Revision: 5012 URL: http://www.opensync.org/changeset/5012 Log: Changed all format specific function signatures to pass a void *user_data pointer Now it is possible to create format specific data in initialize which gets passed to all other format functions Modified: trunk/formats/file.c trunk/formats/plain.c trunk/formats/xmlformat-doc.c trunk/opensync/format/opensync_objformat.c trunk/opensync/format/opensync_objformat.h trunk/tests/format-tests/check_conv.c trunk/tests/format-tests/check_converter.c trunk/tests/format-tests/check_objformat.c trunk/tests/mock-plugin/mock_format.c Modified: trunk/formats/file.c ============================================================================== --- trunk/formats/file.c Mon Jan 5 04:38:59 2009 (r5011) +++ trunk/formats/file.c Mon Jan 5 10:46:15 2009 (r5012) @@ -29,7 +29,7 @@ #include "file.h" -static OSyncConvCmpResult compare_file(const char *leftdata, unsigned int leftsize, const char *rightdata, unsigned int rightsize) +static OSyncConvCmpResult compare_file(const char *leftdata, unsigned int leftsize, const char *rightdata, unsigned int rightsize, void *user_data) { OSyncFileFormat *leftfile = (OSyncFileFormat *)leftdata; OSyncFileFormat *rightfile = (OSyncFileFormat *)rightdata; @@ -60,7 +60,7 @@ return OSYNC_CONV_DATA_MISMATCH; } -static osync_bool conv_file_to_plain(char *input, unsigned int inpsize, char **output, unsigned int *outpsize, osync_bool *free_input, const char *config, void *userdata, OSyncError **error) +static osync_bool conv_file_to_plain(char *input, unsigned int inpsize, char **output, unsigned int *outpsize, osync_bool *free_input, const char *config, void *user_data, OSyncError **error) { OSyncFileFormat *file = (OSyncFileFormat *)input; char *plaindata = NULL; @@ -97,7 +97,7 @@ return TRUE; } -static void destroy_file(char *input, unsigned int inpsize) +static void destroy_file(char *input, unsigned int inpsize, void *user_data) { OSyncFileFormat *file = (OSyncFileFormat *)input; @@ -110,7 +110,7 @@ g_free(file); } -static osync_bool duplicate_file(const char *uid, const char *input, unsigned int insize, char **newuid, char **output, unsigned int *outsize, osync_bool *dirty, OSyncError **error) +static osync_bool duplicate_file(const char *uid, const char *input, unsigned int insize, char **newuid, char **output, unsigned int *outsize, osync_bool *dirty, void *user_data, OSyncError **error) { OSyncFileFormat *file = (OSyncFileFormat *)input; @@ -122,7 +122,7 @@ return TRUE; } -static osync_bool copy_file(const char *input, unsigned int inpsize, char **output, unsigned int *outpsize, OSyncError **error) +static osync_bool copy_file(const char *input, unsigned int inpsize, char **output, unsigned int *outpsize, void *user_data, OSyncError **error) { OSyncFileFormat *inpfile = (OSyncFileFormat *)input; @@ -143,7 +143,7 @@ return TRUE; } -static time_t revision_file(const char *input, unsigned int inpsize, OSyncError **error) +static time_t revision_file(const char *input, unsigned int inpsize, void *user_data, OSyncError **error) { OSyncFileFormat *file = (OSyncFileFormat *)input; time_t lastmod; @@ -156,7 +156,7 @@ return lastmod; } -static char *print_file(const char *data, unsigned int size) +static char *print_file(const char *data, unsigned int size, void *user_data) { OSyncFileFormat *file = (OSyncFileFormat *)data; @@ -164,7 +164,7 @@ return printable; } -static osync_bool marshal_file(const char *input, unsigned int inpsize, OSyncMarshal *marshal, OSyncError **error) +static osync_bool marshal_file(const char *input, unsigned int inpsize, OSyncMarshal *marshal, void *user_data, OSyncError **error) { OSyncFileFormat *file = (OSyncFileFormat *)input; osync_trace(TRACE_ENTRY, "%s(%p, %i, %p, %p)", __func__, input, inpsize, marshal, error); @@ -176,7 +176,7 @@ return TRUE; } -static osync_bool demarshal_file(OSyncMarshal *marshal, char **output, unsigned int *outpsize, OSyncError **error) +static osync_bool demarshal_file(OSyncMarshal *marshal, char **output, unsigned int *outpsize, void *user_data, OSyncError **error) { OSyncFileFormat *file = NULL; osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, marshal, output, outpsize, error); Modified: trunk/formats/plain.c ============================================================================== --- trunk/formats/plain.c Mon Jan 5 04:38:59 2009 (r5011) +++ trunk/formats/plain.c Mon Jan 5 10:46:15 2009 (r5012) @@ -26,7 +26,7 @@ #include <opensync/opensync-format.h> #include <opensync/opensync-xmlformat.h> -static OSyncConvCmpResult compare_plain(const char *leftdata, unsigned int leftsize, const char *rightdata, unsigned int rightsize) +static OSyncConvCmpResult compare_plain(const char *leftdata, unsigned int leftsize, const char *rightdata, unsigned int rightsize, void *user_data) { /* Consider empty block equal NULL pointers */ if (!leftsize) leftdata = NULL; @@ -45,7 +45,7 @@ return OSYNC_CONV_DATA_MISMATCH; } -static osync_bool copy_plain(const char *input, unsigned int inpsize, char **output, unsigned int *outpsize, OSyncError **error) +static osync_bool copy_plain(const char *input, unsigned int inpsize, char **output, unsigned int *outpsize, void *user_data, OSyncError **error) { char *r = g_malloc0(inpsize); @@ -115,7 +115,7 @@ return TRUE; } -static void destroy_plain(char *input, unsigned int inpsize) +static void destroy_plain(char *input, unsigned int inpsize, void *user_data) { g_free(input); } Modified: trunk/formats/xmlformat-doc.c ============================================================================== --- trunk/formats/xmlformat-doc.c Mon Jan 5 04:38:59 2009 (r5011) +++ trunk/formats/xmlformat-doc.c Mon Jan 5 10:46:15 2009 (r5012) @@ -98,7 +98,7 @@ return TRUE; } -static void destroy(char *input, unsigned int inpsize) +static void destroy(char *input, unsigned int inpsize, void *user_data) { free(input); } Modified: trunk/opensync/format/opensync_objformat.c ============================================================================== --- trunk/opensync/format/opensync_objformat.c Mon Jan 5 04:38:59 2009 (r5011) +++ trunk/opensync/format/opensync_objformat.c Mon Jan 5 10:46:15 2009 (r5012) @@ -131,7 +131,7 @@ { osync_return_val_if_fail(format, OSYNC_CONV_DATA_UNKNOWN); osync_return_val_if_fail(format->cmp_func, OSYNC_CONV_DATA_UNKNOWN); - return format->cmp_func(leftdata, leftsize, rightdata, rightsize); + return format->cmp_func(leftdata, leftsize, rightdata, rightsize, format->user_data); } void osync_objformat_set_destroy_func(OSyncObjFormat *format, OSyncFormatDestroyFunc destroy_func) @@ -149,7 +149,7 @@ return; } - format->destroy_func(data, size); + format->destroy_func(data, size, format->user_data); } void osync_objformat_set_copy_func(OSyncObjFormat *format, OSyncFormatCopyFunc copy_func) @@ -173,7 +173,7 @@ memcpy(*outdata, indata, insize); *outsize = insize; } else { - if (!format->copy_func(indata, insize, outdata, outsize, error)) { + if (!format->copy_func(indata, insize, outdata, outsize, format->user_data, error)) { osync_error_set(error, OSYNC_ERROR_GENERIC, "Something went wrong during copying"); return FALSE; } @@ -196,7 +196,7 @@ return FALSE; } - return format->duplicate_func(uid, input, insize, newuid, output, outsize, dirty, error); + return format->duplicate_func(uid, input, insize, newuid, output, outsize, dirty, format->user_data, error); } void osync_objformat_set_create_func(OSyncObjFormat *format, OSyncFormatCreateFunc create_func) @@ -210,7 +210,7 @@ osync_return_if_fail(format); osync_return_if_fail(format->create_func); - format->create_func(data, size); + format->create_func(data, size, format->user_data); } void osync_objformat_set_print_func(OSyncObjFormat *format, OSyncFormatPrintFunc print_func) @@ -226,7 +226,7 @@ if (!format->print_func) return g_strndup(data, size); - return format->print_func(data, size); + return format->print_func(data, size, format->user_data); } void osync_objformat_set_revision_func(OSyncObjFormat *format, OSyncFormatRevisionFunc revision_func) @@ -245,7 +245,7 @@ return -1; } - return format->revision_func(data, size, error); + return format->revision_func(data, size, format->user_data, error); } void osync_objformat_set_marshal_func(OSyncObjFormat *format, OSyncFormatMarshalFunc marshal_func) @@ -264,7 +264,7 @@ { osync_assert(format); osync_return_val_if_fail(format->marshal_func, TRUE); - return format->marshal_func(input, inpsize, marshal, error); + return format->marshal_func(input, inpsize, marshal, format->user_data, error); } void osync_objformat_set_demarshal_func(OSyncObjFormat *format, OSyncFormatDemarshalFunc demarshal_func) @@ -277,7 +277,7 @@ { osync_assert(format); osync_return_val_if_fail(format->demarshal_func, TRUE); - return format->demarshal_func(marshal, output, outpsize, error); + return format->demarshal_func(marshal, output, outpsize, format->user_data, error); } void osync_objformat_set_validate_func(OSyncObjFormat *format, OSyncFormatValidateFunc validate_func) @@ -313,7 +313,7 @@ { osync_assert(format); osync_return_val_if_fail(format->merge_func, TRUE); - return format->merge_func(input, inpsize, output, outpsize, entire, entsize, caps, error); + return format->merge_func(input, inpsize, output, outpsize, entire, entsize, caps, format->user_data, error); } void osync_objformat_set_demerge_func(OSyncObjFormat *format, OSyncFormatDemergeFunc demerge_func) @@ -329,7 +329,7 @@ { osync_assert(format); osync_return_val_if_fail(format->demerge_func, TRUE); - return format->demerge_func(input, inpsize, output, outpsize, caps, error); + return format->demerge_func(input, inpsize, output, outpsize, caps, format->user_data, error); } Modified: trunk/opensync/format/opensync_objformat.h ============================================================================== --- trunk/opensync/format/opensync_objformat.h Mon Jan 5 04:38:59 2009 (r5011) +++ trunk/opensync/format/opensync_objformat.h Mon Jan 5 10:46:15 2009 (r5012) @@ -31,21 +31,21 @@ /*@{*/ typedef void * (* OSyncFormatInitializeFunc) (OSyncError **error); -typedef void (* OSyncFormatFinalizeFunc) (void *userdata); +typedef void (* OSyncFormatFinalizeFunc) (void *user_data); -typedef OSyncConvCmpResult (* OSyncFormatCompareFunc) (const char *leftdata, unsigned int leftsize, const char *rightdata, unsigned int rightsize); -typedef osync_bool (* OSyncFormatCopyFunc) (const char *input, unsigned int inpsize, char **output, unsigned int *outpsize, OSyncError **error); -typedef osync_bool (* OSyncFormatDuplicateFunc) (const char *uid, const char *input, unsigned int insize, char **newuid, char **output, unsigned int *outsize, osync_bool *dirty, OSyncError **error); -typedef void (* OSyncFormatCreateFunc) (char **data, unsigned int *size); -typedef void (* OSyncFormatDestroyFunc) (char *data, unsigned int size); -typedef char *(* OSyncFormatPrintFunc) (const char *data, unsigned int size); -typedef time_t (* OSyncFormatRevisionFunc) (const char *data, unsigned int size, OSyncError **error); -typedef osync_bool (* OSyncFormatMarshalFunc) (const char *input, unsigned int inpsize, OSyncMarshal *marshal, OSyncError **error); -typedef osync_bool (* OSyncFormatDemarshalFunc) (OSyncMarshal *marshal, char **output, unsigned int *outpsize, OSyncError **error); +typedef OSyncConvCmpResult (* OSyncFormatCompareFunc) (const char *leftdata, unsigned int leftsize, const char *rightdata, unsigned int rightsize, void *user_data); +typedef osync_bool (* OSyncFormatCopyFunc) (const char *input, unsigned int inpsize, char **output, unsigned int *outpsize, void *user_data, OSyncError **error); +typedef osync_bool (* OSyncFormatDuplicateFunc) (const char *uid, const char *input, unsigned int insize, char **newuid, char **output, unsigned int *outsize, osync_bool *dirty, void *user_data, OSyncError **error); +typedef void (* OSyncFormatCreateFunc) (char **data, unsigned int *size, void *user_data); +typedef void (* OSyncFormatDestroyFunc) (char *data, unsigned int size, void *user_data); +typedef char *(* OSyncFormatPrintFunc) (const char *data, unsigned int size, void *user_data); +typedef time_t (* OSyncFormatRevisionFunc) (const char *data, unsigned int size, void *user_data, OSyncError **error); +typedef osync_bool (* OSyncFormatMarshalFunc) (const char *input, unsigned int inpsize, OSyncMarshal *marshal, void *user_data, OSyncError **error); +typedef osync_bool (* OSyncFormatDemarshalFunc) (OSyncMarshal *marshal, char **output, unsigned int *outpsize, void *user_data, OSyncError **error); typedef osync_bool (* OSyncFormatValidateFunc) (const char *data, unsigned int size, void *user_data, OSyncError **error); -typedef osync_bool (* OSyncFormatMergeFunc) (const char *input, unsigned int inpsize, char **output, unsigned int *outpsize, const char *entire, unsigned int entsize, OSyncCapabilities *caps, OSyncError **error); -typedef osync_bool (* OSyncFormatDemergeFunc) (const char *input, unsigned int inpsize, char **output, unsigned int *outpsize, OSyncCapabilities *caps, OSyncError **error); +typedef osync_bool (* OSyncFormatMergeFunc) (const char *input, unsigned int inpsize, char **output, unsigned int *outpsize, const char *entire, unsigned int entsize, OSyncCapabilities *caps,void *user_data, OSyncError **error); +typedef osync_bool (* OSyncFormatDemergeFunc) (const char *input, unsigned int inpsize, char **output, unsigned int *outpsize, OSyncCapabilities *caps, void *user_data, OSyncError **error); /** * @brief Creates a new object format Modified: trunk/tests/format-tests/check_conv.c ============================================================================== --- trunk/tests/format-tests/check_conv.c Mon Jan 5 04:38:59 2009 (r5011) +++ trunk/tests/format-tests/check_conv.c Mon Jan 5 10:46:15 2009 (r5012) @@ -117,7 +117,7 @@ } END_TEST -osync_bool convert_func(char *input, unsigned int inpsize, char **output, unsigned int *outpsize, osync_bool *free_input, const char *config, void* userdata, OSyncError **error) +osync_bool convert_func(char *input, unsigned int inpsize, char **output, unsigned int *outpsize, osync_bool *free_input, const char *config, void* user_data, OSyncError **error) { *free_input = TRUE; *output = g_strdup("test"); @@ -360,7 +360,7 @@ } #endif -static void format_simple_destroy(char *data, unsigned int size) +static void format_simple_destroy(char *data, unsigned int size, void *user_data) { osync_assert(data); if (size) Modified: trunk/tests/format-tests/check_converter.c ============================================================================== --- trunk/tests/format-tests/check_converter.c Mon Jan 5 04:38:59 2009 (r5011) +++ trunk/tests/format-tests/check_converter.c Mon Jan 5 10:46:15 2009 (r5012) @@ -8,7 +8,7 @@ return TRUE; } -void destroy_format(char *data, unsigned int size) +void destroy_format(char *data, unsigned int size, void *user_data) { g_free(data); } @@ -17,7 +17,7 @@ char *string1; } testdata; -void destroy_testdata(char *input, unsigned int size) +void destroy_testdata(char *input, unsigned int size, void *user_data) { testdata *data = (testdata *)input; if (data->string1) Modified: trunk/tests/format-tests/check_objformat.c ============================================================================== --- trunk/tests/format-tests/check_objformat.c Mon Jan 5 04:38:59 2009 (r5011) +++ trunk/tests/format-tests/check_objformat.c Mon Jan 5 10:46:15 2009 (r5012) @@ -4,7 +4,7 @@ #include <opensync/opensync-serializer.h> #include "opensync/format/opensync_objformat_internals.h" -static OSyncConvCmpResult compare_format(const char *leftdata, unsigned int leftsize, const char *rightdata, unsigned int rightsize) +static OSyncConvCmpResult compare_format(const char *leftdata, unsigned int leftsize, const char *rightdata, unsigned int rightsize, void *user_data) { if (rightsize == leftsize && !strcmp(leftdata, rightdata)) return OSYNC_CONV_DATA_SAME; @@ -12,48 +12,48 @@ return OSYNC_CONV_DATA_MISMATCH; } -void destroy_format(char *data, unsigned int size) +void destroy_format(char *data, unsigned int size, void *user_data) { g_free(data); } -osync_bool copy_format(const char *indata, unsigned int insize, char **outdata, unsigned int *outsize, OSyncError **error) +osync_bool copy_format(const char *indata, unsigned int insize, char **outdata, unsigned int *outsize, void *user_data, OSyncError **error) { *outdata = strdup(indata); *outsize = insize; return TRUE; } -static osync_bool duplicate_format(const char *uid, const char *input, unsigned int insize, char **newuid, char **output, unsigned int *outsize, osync_bool *dirty, OSyncError **error) +static osync_bool duplicate_format(const char *uid, const char *input, unsigned int insize, char **newuid, char **output, unsigned int *outsize, osync_bool *dirty, void *user_data, OSyncError **error) { fail_unless(!strcmp(uid, "uid"), NULL); *newuid = strdup("newuid"); return TRUE; } -void create_format(char **data, unsigned int *size) +void create_format(char **data, unsigned int *size, void *user_data) { *data = strdup("data"); *size = 5; } -char *print_format(const char *data, unsigned int size) +char *print_format(const char *data, unsigned int size, void *user_data) { return strdup(data); } -time_t revision_format(const char *data, unsigned int size, OSyncError **error) +time_t revision_format(const char *data, unsigned int size, void *user_data, OSyncError **error) { return atoi(data); } -osync_bool marshal_format(const char *input, unsigned int inpsize, OSyncMarshal *marshal, OSyncError **error) +osync_bool marshal_format(const char *input, unsigned int inpsize, OSyncMarshal *marshal, void *user_data, OSyncError **error) { osync_marshal_write_buffer(marshal, input, inpsize); return TRUE; } -osync_bool demarshal_format(OSyncMarshal *marshal, char **output, unsigned int *outsize, OSyncError **error) +osync_bool demarshal_format(OSyncMarshal *marshal, char **output, unsigned int *outsize, void *user_data, OSyncError **error) { osync_marshal_read_buffer(marshal, (void *)output, (int *)outsize); return TRUE; Modified: trunk/tests/mock-plugin/mock_format.c ============================================================================== --- trunk/tests/mock-plugin/mock_format.c Mon Jan 5 04:38:59 2009 (r5011) +++ trunk/tests/mock-plugin/mock_format.c Mon Jan 5 10:46:15 2009 (r5012) @@ -29,24 +29,24 @@ static osync_bool mock_format_get_error(const char *domain) { - const char *env = g_getenv(domain); + const char *env = g_getenv(domain); - if (!env) - return FALSE; + if (!env) + return FALSE; - char *chancestr = g_strdup_printf("%s_PROB", domain); - const char *chance = g_getenv(chancestr); - g_free(chancestr); - if (!chance) - return TRUE; - int prob = atoi(chance); - if (prob >= g_random_int_range(0, 100)) - return TRUE; + char *chancestr = g_strdup_printf("%s_PROB", domain); + const char *chance = g_getenv(chancestr); + g_free(chancestr); + if (!chance) + return TRUE; + int prob = atoi(chance); + if (prob >= g_random_int_range(0, 100)) + return TRUE; - return FALSE; + return FALSE; } -static OSyncConvCmpResult compare_file(const char *leftdata, unsigned int leftsize, const char *rightdata, unsigned int rightsize) +static OSyncConvCmpResult compare_file(const char *leftdata, unsigned int leftsize, const char *rightdata, unsigned int rightsize, void *user_data) { osync_trace(TRACE_ENTRY, "%s(%p, %i, %p, %i)", __func__, leftdata, leftsize, rightdata, rightsize); osync_assert(leftdata); @@ -112,7 +112,7 @@ return TRUE; } -static void destroy_file(char *input, unsigned int inpsize) +static void destroy_file(char *input, unsigned int inpsize, void *user_data) { OSyncFileFormat *file = (OSyncFileFormat *)input; osync_assert(sizeof(OSyncFileFormat) == inpsize); @@ -126,7 +126,7 @@ g_free(file); } -static void destroy_mockformat2(char *input, unsigned int inpsize) +static void destroy_mockformat2(char *input, unsigned int inpsize, void *user_data) { if (!input || inpsize == 0) return; @@ -134,7 +134,7 @@ osync_free(input); } -static osync_bool duplicate_file(const char *uid, const char *input, unsigned int insize, char **newuid, char **output, unsigned int *outsize, osync_bool *dirty, OSyncError **error) +static osync_bool duplicate_file(const char *uid, const char *input, unsigned int insize, char **newuid, char **output, unsigned int *outsize, osync_bool *dirty, void *user_data, OSyncError **error) { OSyncFileFormat *file = (OSyncFileFormat *)input; @@ -146,7 +146,7 @@ return TRUE; } -static osync_bool copy_file(const char *input, unsigned int inpsize, char **output, unsigned int *outpsize, OSyncError **error) +static osync_bool copy_file(const char *input, unsigned int inpsize, char **output, unsigned int *outpsize, void *user_data, OSyncError **error) { OSyncFileFormat *inpfile = (OSyncFileFormat *)input; @@ -166,7 +166,7 @@ return TRUE; } -static void create_file(char **buffer, unsigned int *size) +static void create_file(char **buffer, unsigned int *size, void *user_data) { OSyncFileFormat *outfile = osync_try_malloc0(sizeof(OSyncFileFormat), NULL); @@ -179,7 +179,7 @@ *size = sizeof(OSyncFileFormat); } -static time_t revision_file(const char *input, unsigned int inpsize, OSyncError **error) +static time_t revision_file(const char *input, unsigned int inpsize, void *user_data, OSyncError **error) { osync_trace(TRACE_ENTRY, "%s(%p, %i, %p)", __func__, input, inpsize, error); @@ -190,7 +190,7 @@ return lastmod; } -static char *print_file(const char *data, unsigned int size) +static char *print_file(const char *data, unsigned int size, void *user_data) { OSyncFileFormat *file = (OSyncFileFormat *)data; @@ -198,7 +198,7 @@ return printable; } -static osync_bool marshal_file(const char *input, unsigned int inpsize, OSyncMarshal *marshal, OSyncError **error) +static osync_bool marshal_file(const char *input, unsigned int inpsize, OSyncMarshal *marshal, void *user_data, OSyncError **error) { osync_trace(TRACE_ENTRY, "%s(%p, %i, %p, %p)", __func__, input, inpsize, marshal, error); @@ -211,7 +211,7 @@ return TRUE; } -static osync_bool demarshal_file(OSyncMarshal *marshal, char **output, unsigned int *outpsize, OSyncError **error) +static osync_bool demarshal_file(OSyncMarshal *marshal, char **output, unsigned int *outpsize, void *user_data, OSyncError **error) { osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, marshal, output, outpsize, error); |
From: <dg...@su...> - 2009-01-05 09:41:08
|
Author: bellmich Date: Mon Jan 5 10:40:36 2009 New Revision: 880 URL: http://libsyncml.opensync.org/changeset/880 Log: The environment must be configured correctly to get useful results from memory checkers. Modified: trunk/tests/check_base64.c trunk/tests/check_devinf.c trunk/tests/check_ds.c trunk/tests/check_elements.c trunk/tests/check_error.c trunk/tests/check_http.c trunk/tests/check_manager.c trunk/tests/check_md5.c trunk/tests/check_obex.c trunk/tests/check_san.c trunk/tests/check_session.c trunk/tests/check_sync.c trunk/tests/check_wbxml_assembler.c trunk/tests/check_wbxml_parser.c trunk/tests/check_xml_assembler.c trunk/tests/check_xml_fix_broken_item_data.c trunk/tests/check_xml_parser.c trunk/tests/mobiles/test_mobile.c trunk/tests/support.c trunk/tests/support.h Modified: trunk/tests/check_base64.c ============================================================================== --- trunk/tests/check_base64.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_base64.c Mon Jan 5 10:40:36 2009 (r880) @@ -268,6 +268,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = base64_suite(); Modified: trunk/tests/check_devinf.c ============================================================================== --- trunk/tests/check_devinf.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_devinf.c Mon Jan 5 10:40:36 2009 (r880) @@ -413,6 +413,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = devinf_suite(); Modified: trunk/tests/check_ds.c ============================================================================== --- trunk/tests/check_ds.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_ds.c Mon Jan 5 10:40:36 2009 (r880) @@ -2483,6 +2483,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = datasync_suite(); Modified: trunk/tests/check_elements.c ============================================================================== --- trunk/tests/check_elements.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_elements.c Mon Jan 5 10:40:36 2009 (r880) @@ -342,6 +342,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = elements_suite(); Modified: trunk/tests/check_error.c ============================================================================== --- trunk/tests/check_error.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_error.c Mon Jan 5 10:40:36 2009 (r880) @@ -238,6 +238,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = error_suite(); Modified: trunk/tests/check_http.c ============================================================================== --- trunk/tests/check_http.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_http.c Mon Jan 5 10:40:36 2009 (r880) @@ -962,6 +962,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = http_suite(); Modified: trunk/tests/check_manager.c ============================================================================== --- trunk/tests/check_manager.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_manager.c Mon Jan 5 10:40:36 2009 (r880) @@ -684,6 +684,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = manager_suite(); Modified: trunk/tests/check_md5.c ============================================================================== --- trunk/tests/check_md5.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_md5.c Mon Jan 5 10:40:36 2009 (r880) @@ -137,6 +137,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = md5_suite(); Modified: trunk/tests/check_obex.c ============================================================================== --- trunk/tests/check_obex.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_obex.c Mon Jan 5 10:40:36 2009 (r880) @@ -913,6 +913,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = obex_suite(); Modified: trunk/tests/check_san.c ============================================================================== --- trunk/tests/check_san.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_san.c Mon Jan 5 10:40:36 2009 (r880) @@ -526,6 +526,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = san_suite(); Modified: trunk/tests/check_session.c ============================================================================== --- trunk/tests/check_session.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_session.c Mon Jan 5 10:40:36 2009 (r880) @@ -2647,6 +2647,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = session_suite(); Modified: trunk/tests/check_sync.c ============================================================================== --- trunk/tests/check_sync.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_sync.c Mon Jan 5 10:40:36 2009 (r880) @@ -2094,6 +2094,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = sync_suite(); Modified: trunk/tests/check_wbxml_assembler.c ============================================================================== --- trunk/tests/check_wbxml_assembler.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_wbxml_assembler.c Mon Jan 5 10:40:36 2009 (r880) @@ -922,6 +922,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = assembler_suite(); Modified: trunk/tests/check_wbxml_parser.c ============================================================================== --- trunk/tests/check_wbxml_parser.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_wbxml_parser.c Mon Jan 5 10:40:36 2009 (r880) @@ -786,6 +786,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = parser_suite(); Modified: trunk/tests/check_xml_assembler.c ============================================================================== --- trunk/tests/check_xml_assembler.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_xml_assembler.c Mon Jan 5 10:40:36 2009 (r880) @@ -1787,6 +1787,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = assembler_suite(); Modified: trunk/tests/check_xml_fix_broken_item_data.c ============================================================================== --- trunk/tests/check_xml_fix_broken_item_data.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_xml_fix_broken_item_data.c Mon Jan 5 10:40:36 2009 (r880) @@ -194,6 +194,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = parser_suite(); Modified: trunk/tests/check_xml_parser.c ============================================================================== --- trunk/tests/check_xml_parser.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_xml_parser.c Mon Jan 5 10:40:36 2009 (r880) @@ -1722,6 +1722,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = parser_suite(); Modified: trunk/tests/mobiles/test_mobile.c ============================================================================== --- trunk/tests/mobiles/test_mobile.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/mobiles/test_mobile.c Mon Jan 5 10:40:36 2009 (r880) @@ -53,6 +53,8 @@ int main(int argc, char **argv) { + configure_environment(); + int nf; /* init test environment */ Modified: trunk/tests/support.c ============================================================================== --- trunk/tests/support.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/support.c Mon Jan 5 10:40:36 2009 (r880) @@ -21,6 +21,36 @@ #include "support.h" #include <libsyncml/sml_error_internals.h> +void configure_environment() +{ + /* Several libraries do things which confuse debuggers and + * memory checkers like Valgrind. Therefore it is often + * possible to configure such libraries via environment + * variables to use a more conventional behaviour. + * + * If the user already set an environment variable + * then this variable is not touched. + */ + + /* The glib uses some memory caching mechanisms for performance + * enhancements which confuses memory checkers like Valgrind. + * Therefore it is necessary to deactivate these mechanisms for + * testing. + */ + if (!g_setenv("G_SLICE", "always-malloc", FALSE)) + g_warning("G_SLICE is already set."); + + /* The check library usually forks test suites to safely survive + * things like segmentation faults and to have a clean separated + * address space for every test suite. This behaviour makes it + * difficult for memory checks like Valgrind to detect real + * problems correctly. Usually you get tons of false positives. + * Therefore forking is disabled. + */ + if (!g_setenv("CK_FORK", "no", FALSE)) + g_warning("CK_FORK is already set."); +} + char *olddir = NULL; char *setup_testbed(char *fkt_name) Modified: trunk/tests/support.h ============================================================================== --- trunk/tests/support.h Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/support.h Mon Jan 5 10:40:36 2009 (r880) @@ -22,6 +22,7 @@ #include <libsyncml/syncml.h> #include <libsyncml/syncml_internals.h> +void configure_environment(); char *setup_testbed(char *fkt_name); void destroy_testbed(char *path); void create_case(Suite *s, const char *name, TFun function); |
From: <dg...@su...> - 2009-01-05 03:39:21
|
Author: dgollub Date: Mon Jan 5 04:38:59 2009 New Revision: 5011 URL: http://www.opensync.org/changeset/5011 Log: Removed OSyncMessage API from public API. If your plugin is using OSyncMessage - replace it by OSyncMarshal. Added: trunk/opensync/ipc/opensync_message_private.h (contents, props changed) - copied, changed from r5010, trunk/opensync/ipc/opensync_message_internals.h Replaced: trunk/opensync/ipc/opensync_message_internals.h (contents, props changed) - copied, changed from r5010, trunk/opensync/ipc/opensync_message.h Deleted: trunk/opensync/ipc/opensync_message.h Modified: trunk/opensync.sym trunk/opensync/client/opensync_client.c trunk/opensync/client/opensync_client_proxy.c trunk/opensync/common/opensync_xml.c trunk/opensync/common/opensync_xml_internals.h trunk/opensync/ipc/opensync_message.c trunk/opensync/ipc/opensync_queue.c trunk/opensync/ipc/opensync_serializer.c trunk/opensync/opensync-ipc.h trunk/opensync/opensync-serializer.h trunk/tests/client-tests/check_client.c trunk/tests/ipc-tests/check_ipc.c trunk/tests/ipc-tests/check_serializer.c Modified: trunk/opensync.sym ============================================================================== --- trunk/opensync.sym Mon Jan 5 04:09:37 2009 (r5010) +++ trunk/opensync.sym Mon Jan 5 04:38:59 2009 (r5011) @@ -345,42 +345,6 @@ osync_member_set_objtype_enabled osync_member_set_pluginname osync_member_unref -osync_message_get_buffer -osync_message_get_cmd -osync_message_get_command -osync_message_get_commandstr -osync_message_get_handler -osync_message_get_handler_data -osync_message_get_id -osync_message_get_message_size -osync_message_is_answered -osync_message_is_error -osync_message_new -osync_message_new_error -osync_message_new_errorreply -osync_message_new_queue_error -osync_message_new_reply -osync_message_read_buffer -osync_message_read_const_data -osync_message_read_const_string -osync_message_read_data -osync_message_read_int -osync_message_read_long_long_int -osync_message_read_string -osync_message_read_uint -osync_message_ref -osync_message_set_answered -osync_message_set_cmd -osync_message_set_handler -osync_message_set_id -osync_message_set_message_size -osync_message_unref -osync_message_write_buffer -osync_message_write_data -osync_message_write_int -osync_message_write_long_long_int -osync_message_write_string -osync_message_write_uint osync_obj_engine_command osync_obj_engine_event osync_obj_engine_finalize Modified: trunk/opensync/client/opensync_client.c ============================================================================== --- trunk/opensync/client/opensync_client.c Mon Jan 5 04:09:37 2009 (r5010) +++ trunk/opensync/client/opensync_client.c Mon Jan 5 04:38:59 2009 (r5011) @@ -28,6 +28,7 @@ #include "opensync-ipc.h" #include "ipc/opensync_serializer_internals.h" +#include "ipc/opensync_message_internals.h" #include "ipc/opensync_queue_internals.h" #include "opensync-format.h" Modified: trunk/opensync/client/opensync_client_proxy.c ============================================================================== --- trunk/opensync/client/opensync_client_proxy.c Mon Jan 5 04:09:37 2009 (r5010) +++ trunk/opensync/client/opensync_client_proxy.c Mon Jan 5 04:38:59 2009 (r5011) @@ -24,6 +24,7 @@ #include "opensync-data.h" #include "opensync-ipc.h" +#include "ipc/opensync_message_internals.h" #include "ipc/opensync_serializer_internals.h" #include "ipc/opensync_queue_internals.h" #include "plugin/opensync_objtype_sink_internals.h" Modified: trunk/opensync/common/opensync_xml.c ============================================================================== --- trunk/opensync/common/opensync_xml.c Mon Jan 5 04:09:37 2009 (r5010) +++ trunk/opensync/common/opensync_xml.c Mon Jan 5 04:38:59 2009 (r5011) @@ -444,38 +444,6 @@ return TRUE; } -osync_bool osync_xml_marshal(const char *input, unsigned int inpsize, OSyncMessage *message, OSyncError **error) -{ - xmlDoc *doc = (xmlDoc*)input; - xmlChar *result; - int size; - xmlDocDumpMemory(doc, &result, &size); - osync_message_write_buffer(message, result, size); - - return TRUE; -} - -osync_bool osync_xml_demarshal(OSyncMessage *message, char **output, unsigned int *outpsize, OSyncError **error) -{ - void *input = NULL; - int size = 0; - xmlDoc *doc = NULL; - osync_message_read_buffer(message, &input, &size); - - doc = xmlParseMemory((char *)input, size); - if (!doc) { - osync_error_set(error, OSYNC_ERROR_GENERIC, "Invalid XML data received"); - goto error; - } - - *output = (char*)doc; - *outpsize = sizeof(*doc); - return TRUE; - - error: - return FALSE; -} - osync_bool osync_xml_validate_document(xmlDocPtr doc, char *schemafilepath) { int rc = 0; Modified: trunk/opensync/common/opensync_xml_internals.h ============================================================================== --- trunk/opensync/common/opensync_xml_internals.h Mon Jan 5 04:09:37 2009 (r5010) +++ trunk/opensync/common/opensync_xml_internals.h Mon Jan 5 04:38:59 2009 (r5011) @@ -78,9 +78,6 @@ char *osync_xml_write_to_string(xmlDoc *doc); osync_bool osync_xml_copy(const char *input, unsigned int inpsize, char **output, unsigned int *outpsize, OSyncError **error); -osync_bool osync_xml_marshal(const char *input, unsigned int inpsize, OSyncMessage *message, OSyncError **error); -osync_bool osync_xml_demarshal(OSyncMessage *message, char **output, unsigned int *outpsize, OSyncError **error); - osync_bool osync_xml_validate_document(xmlDocPtr doc, char *schemafilepath); xmlChar *osync_xml_node_get_content(xmlNodePtr node); Modified: trunk/opensync/ipc/opensync_message.c ============================================================================== --- trunk/opensync/ipc/opensync_message.c Mon Jan 5 04:09:37 2009 (r5010) +++ trunk/opensync/ipc/opensync_message.c Mon Jan 5 04:38:59 2009 (r5011) @@ -24,9 +24,10 @@ #include "common/opensync_marshal.h" #include "opensync_serializer_internals.h" -#include "opensync_message.h" #include "opensync_message_internals.h" +#include "opensync_message_private.h" + OSyncMessage *osync_message_new(OSyncMessageCommand cmd, unsigned int size, OSyncError **error) { Copied and modified: trunk/opensync/ipc/opensync_message_internals.h (from r5010, trunk/opensync/ipc/opensync_message.h) ============================================================================== --- trunk/opensync/ipc/opensync_message.h Mon Jan 5 04:09:37 2009 (r5010, copy source) +++ trunk/opensync/ipc/opensync_message_internals.h Mon Jan 5 04:38:59 2009 (r5011) @@ -18,8 +18,8 @@ * */ -#ifndef _OPENSYNC_MESSAGES_H -#define _OPENSYNC_MESSAGES_H +#ifndef _OPENSYNC_MESSAGES_INTERNALS_H +#define _OPENSYNC_MESSAGES_INTERNALS_H /** * @defgroup OSyncIPC OpenSync IPC Module @@ -77,7 +77,7 @@ * @returns Pointer to a newly allocated message * */ -OSYNC_EXPORT OSyncMessage *osync_message_new(OSyncMessageCommand cmd, unsigned int size, OSyncError **error); +OSYNC_TEST_EXPORT OSyncMessage *osync_message_new(OSyncMessageCommand cmd, unsigned int size, OSyncError **error); /** @brief Creates a new reply * @@ -86,7 +86,7 @@ * @returns Pointer to a newly allocated message * */ -OSYNC_EXPORT OSyncMessage *osync_message_new_reply(OSyncMessage *message, OSyncError **error); +OSYNC_TEST_EXPORT OSyncMessage *osync_message_new_reply(OSyncMessage *message, OSyncError **error); /** @brief Creates a new error reply * @@ -95,7 +95,7 @@ * @param loc_error Pointer to a error-struct for errors which appear while creating message * @returns Pointer to a newly allocated error-reply message */ -OSYNC_EXPORT OSyncMessage *osync_message_new_errorreply(OSyncMessage *message, OSyncError *error, OSyncError **loc_error); +OSYNC_TEST_EXPORT OSyncMessage *osync_message_new_errorreply(OSyncMessage *message, OSyncError *error, OSyncError **loc_error); /** @brief Creates a new error message * @@ -103,7 +103,7 @@ * @param loc_error Pointer to a error-struct for errors which appear while creating message * @returns Pointer to a newly allocated error message */ -OSYNC_EXPORT OSyncMessage *osync_message_new_error(OSyncError *error, OSyncError **loc_error); +OSYNC_TEST_EXPORT OSyncMessage *osync_message_new_error(OSyncError *error, OSyncError **loc_error); /** @brief Creates a new queue error message * @@ -111,7 +111,7 @@ * @param loc_error Pointer to a error-struct for errors which appear while creating message * @returns Pointer to a newly allocated queue error message */ -OSYNC_EXPORT OSyncMessage *osync_message_new_queue_error(OSyncError *error, OSyncError **loc_error); +OSYNC_TEST_EXPORT OSyncMessage *osync_message_new_queue_error(OSyncError *error, OSyncError **loc_error); /** @brief Increase the reference count of the message * @@ -119,14 +119,14 @@ * @returns The referenced message pointer * */ -OSYNC_EXPORT OSyncMessage *osync_message_ref(OSyncMessage *message); +OSYNC_TEST_EXPORT OSyncMessage *osync_message_ref(OSyncMessage *message); /** @brief Decrease the reference count of the message * * @param message The message * */ -OSYNC_EXPORT void osync_message_unref(OSyncMessage *message); +OSYNC_TEST_EXPORT void osync_message_unref(OSyncMessage *message); /** @brief Set new message command for the message object * @@ -134,14 +134,14 @@ * @param cmd The new message command * */ -OSYNC_EXPORT void osync_message_set_cmd(OSyncMessage *message, OSyncMessageCommand cmd); +OSYNC_TEST_EXPORT void osync_message_set_cmd(OSyncMessage *message, OSyncMessageCommand cmd); /** @brief Get message command for the message object * * @param message The message * */ -OSYNC_EXPORT OSyncMessageCommand osync_message_get_cmd(OSyncMessage *message); +OSYNC_TEST_EXPORT OSyncMessageCommand osync_message_get_cmd(OSyncMessage *message); /** @brief Set an ID for the message * @@ -149,7 +149,7 @@ * @param id The ID which get set for supplied message object * */ -OSYNC_EXPORT void osync_message_set_id(OSyncMessage *message, long long int id); +OSYNC_TEST_EXPORT void osync_message_set_id(OSyncMessage *message, long long int id); /** @brief Get message ID of supplied message object * @@ -157,7 +157,7 @@ * @returns The message ID of supplied message * */ -OSYNC_EXPORT long long int osync_message_get_id(OSyncMessage *message); +OSYNC_TEST_EXPORT long long int osync_message_get_id(OSyncMessage *message); /** @brief Get marshal object of supplied message object * @@ -174,7 +174,7 @@ * @returns The message size of supplied message * */ -OSYNC_EXPORT unsigned int osync_message_get_message_size(OSyncMessage *message); +OSYNC_TEST_EXPORT unsigned int osync_message_get_message_size(OSyncMessage *message); /** @brief Set message size for supplied message object * @@ -182,7 +182,7 @@ * @param size The size of the message to set * */ -OSYNC_EXPORT void osync_message_set_message_size(OSyncMessage *message, unsigned int size); +OSYNC_TEST_EXPORT void osync_message_set_message_size(OSyncMessage *message, unsigned int size); /** @brief Get the buffer/content of the message object * @@ -191,7 +191,7 @@ * @param size Size of the data * */ -OSYNC_EXPORT void osync_message_get_buffer(OSyncMessage *message, char **data, unsigned int *size); +OSYNC_TEST_EXPORT void osync_message_get_buffer(OSyncMessage *message, char **data, unsigned int *size); /** @brief Sets the handler that will receive the reply * @@ -200,7 +200,7 @@ * @param user_data Which user data should be passed to the handler * */ -OSYNC_EXPORT void osync_message_set_handler(OSyncMessage *message, OSyncMessageHandler handler, void *user_data); +OSYNC_TEST_EXPORT void osync_message_set_handler(OSyncMessage *message, OSyncMessageHandler handler, void *user_data); /** @brief Get the message handler of the message * @@ -208,7 +208,7 @@ * @returns The message handler of the message * */ -OSYNC_EXPORT OSyncMessageHandler osync_message_get_handler(OSyncMessage *message); +OSYNC_TEST_EXPORT OSyncMessageHandler osync_message_get_handler(OSyncMessage *message); /** @brief Get the data which gets passed to the handler function * @@ -216,7 +216,7 @@ * @returns Pointer of the supplied handler data * */ -OSYNC_EXPORT void *osync_message_get_handler_data(OSyncMessage *message); +OSYNC_TEST_EXPORT void *osync_message_get_handler_data(OSyncMessage *message); /** @brief Checks if the message is a error * @@ -224,7 +224,7 @@ * @return TRUE if the message is a error, FLASE otherwise * */ -OSYNC_EXPORT osync_bool osync_message_is_error(OSyncMessage *message); +OSYNC_TEST_EXPORT osync_bool osync_message_is_error(OSyncMessage *message); /** @brief Gets the command from a message * @@ -233,14 +233,14 @@ * @param message The message * @return the command */ -OSYNC_EXPORT OSyncMessageCommand osync_message_get_command(OSyncMessage *message); +OSYNC_TEST_EXPORT OSyncMessageCommand osync_message_get_command(OSyncMessage *message); /** * @brief Convertes the command of a message to a readable string * @param message The message * @return The command as a string */ -OSYNC_EXPORT char* osync_message_get_commandstr(OSyncMessage *message); +OSYNC_TEST_EXPORT char* osync_message_get_commandstr(OSyncMessage *message); /** @brief Checks if the message got answered * @@ -248,42 +248,42 @@ * @return TRUE if the message got answered, FLASE otherwise * */ -OSYNC_EXPORT osync_bool osync_message_is_answered(OSyncMessage *message); +OSYNC_TEST_EXPORT osync_bool osync_message_is_answered(OSyncMessage *message); /** @brief Set message as answered * * @param message The message to work on * */ -OSYNC_EXPORT void osync_message_set_answered(OSyncMessage *message); +OSYNC_TEST_EXPORT void osync_message_set_answered(OSyncMessage *message); /** @brief Appends an integer value to serialized message buffer * * @param message The message * @param value The integer value to append */ -OSYNC_EXPORT void osync_message_write_int(OSyncMessage *message, int value); +OSYNC_TEST_EXPORT void osync_message_write_int(OSyncMessage *message, int value); /** @brief Appends an unsigned integer value to serialized message buffer * * @param message The message * @param value The integer value to append */ -OSYNC_EXPORT void osync_message_write_uint(OSyncMessage *message, unsigned int value); +OSYNC_TEST_EXPORT void osync_message_write_uint(OSyncMessage *message, unsigned int value); /** @brief Appends a long long integer value to serialized message buffer * * @param message The message * @param value The long long integer value to append */ -OSYNC_EXPORT void osync_message_write_long_long_int(OSyncMessage *message, long long int value); +OSYNC_TEST_EXPORT void osync_message_write_long_long_int(OSyncMessage *message, long long int value); /** @brief Appends a string to serialized message buffer * * @param message The message * @param value The string to append */ -OSYNC_EXPORT void osync_message_write_string(OSyncMessage *message, const char *value); +OSYNC_TEST_EXPORT void osync_message_write_string(OSyncMessage *message, const char *value); /** @brief Appends data with a specific length to the serialized message buffer * @@ -294,7 +294,7 @@ * @param value The data to append * @param size Size of corresponding data parameter */ -OSYNC_EXPORT void osync_message_write_data(OSyncMessage *message, const void *value, int size); +OSYNC_TEST_EXPORT void osync_message_write_data(OSyncMessage *message, const void *value, int size); /** @brief Appends data with a specific length to the serialized message buffer, * plus the length of the data to determine the end. @@ -303,7 +303,7 @@ * @param value The data to append * @param size Size of corresponding data parameter */ -OSYNC_EXPORT void osync_message_write_buffer(OSyncMessage *message, const void *value, int size); +OSYNC_TEST_EXPORT void osync_message_write_buffer(OSyncMessage *message, const void *value, int size); /** @brief Read serialized integer from message buffer. This increments the read * position of the message buffer. @@ -311,7 +311,7 @@ * @param message The message * @param value Reference to store the integer value */ -OSYNC_EXPORT void osync_message_read_int(OSyncMessage *message, int *value); +OSYNC_TEST_EXPORT void osync_message_read_int(OSyncMessage *message, int *value); /** @brief Read serialized unsigned integer from message buffer. This increments the read * position of the message buffer. @@ -319,7 +319,7 @@ * @param message The message * @param value Reference to store the integer value */ -OSYNC_EXPORT void osync_message_read_uint(OSyncMessage *message, unsigned int *value); +OSYNC_TEST_EXPORT void osync_message_read_uint(OSyncMessage *message, unsigned int *value); /** @brief Read serialized long long integer from message buffer. This increments the read * position of the message buffer. @@ -327,7 +327,7 @@ * @param message The message * @param value Reference to store the long long integer value */ -OSYNC_EXPORT void osync_message_read_long_long_int(OSyncMessage *message, long long int *value); +OSYNC_TEST_EXPORT void osync_message_read_long_long_int(OSyncMessage *message, long long int *value); /** @brief Read serialized string from message buffer. This increments the read * position of the message buffer. Caller is responsible for freeing the duplicated @@ -336,7 +336,7 @@ * @param message The message * @param value Reference to store the pointer to the newly allocated string */ -OSYNC_EXPORT void osync_message_read_string(OSyncMessage *message, char **value); +OSYNC_TEST_EXPORT void osync_message_read_string(OSyncMessage *message, char **value); /** @brief Read specific size of serialized data from message buffer. This increments * the read position of the message buffer. Caller is responsible for freeing the @@ -346,7 +346,7 @@ * @param value Reference to store the pointer to the newly allocated data * @param size Size of data */ -OSYNC_EXPORT void osync_message_read_data(OSyncMessage *message, void *value, int size); +OSYNC_TEST_EXPORT void osync_message_read_data(OSyncMessage *message, void *value, int size); /** @brief Read serialized const data from message buffer. This increments the read * position of the message buffer. @@ -355,7 +355,7 @@ * @param value Reference to store the data pointer * @param size The size of data */ -OSYNC_EXPORT void osync_message_read_const_data(OSyncMessage *message, void **value, int size); +OSYNC_TEST_EXPORT void osync_message_read_const_data(OSyncMessage *message, void **value, int size); /** @brief Read serialized const string from message buffer. This increments the read * position of the message buffer. @@ -363,7 +363,7 @@ * @param message The message * @param value Reference to store the string pointer */ -OSYNC_EXPORT void osync_message_read_const_string(OSyncMessage *message, char **value); +OSYNC_TEST_EXPORT void osync_message_read_const_string(OSyncMessage *message, char **value); /** @brief Read serialized data from message buffer. This increments the read * position of the message buffer. Caller is responsible for freeing the duplicated @@ -373,8 +373,9 @@ * @param value Reference to store the pointer to the newly allocated data * @param size Size of data */ -OSYNC_EXPORT void osync_message_read_buffer(OSyncMessage *message, void **value, int *size); +OSYNC_TEST_EXPORT void osync_message_read_buffer(OSyncMessage *message, void **value, int *size); /*@}*/ -#endif /*_OPENSYNC_MESSAGES_H*/ +#endif /* _OPENSYNC_MESSAGES_INTERNALS_H */ + Copied and modified: trunk/opensync/ipc/opensync_message_private.h (from r5010, trunk/opensync/ipc/opensync_message_internals.h) ============================================================================== --- trunk/opensync/ipc/opensync_message_internals.h Mon Jan 5 04:09:37 2009 (r5010, copy source) +++ trunk/opensync/ipc/opensync_message_private.h Mon Jan 5 04:38:59 2009 (r5011) @@ -18,8 +18,8 @@ * */ -#ifndef _OPENSYNC_MESSAGES_INTERNALS_H -#define _OPENSYNC_MESSAGES_INTERNALS_H +#ifndef _OPENSYNC_MESSAGES_PRIVATE_H +#define _OPENSYNC_MESSAGES_PRIVATE_H /** * @defgroup OSyncIPCPrivate OpenSync IPC Module Private @@ -54,5 +54,5 @@ /*@}*/ -#endif /* _OPENSYNC_MESSAGES_INTERNALS_H */ +#endif /* _OPENSYNC_MESSAGES_PRIVATE_H */ Modified: trunk/opensync/ipc/opensync_queue.c ============================================================================== --- trunk/opensync/ipc/opensync_queue.c Mon Jan 5 04:09:37 2009 (r5010) +++ trunk/opensync/ipc/opensync_queue.c Mon Jan 5 04:38:59 2009 (r5011) @@ -22,7 +22,7 @@ #include "opensync.h" #include "opensync_internals.h" -#include "opensync_message.h" +#include "opensync_message_internals.h" #include "opensync_queue.h" #include "opensync_queue_internals.h" Modified: trunk/opensync/ipc/opensync_serializer.c ============================================================================== --- trunk/opensync/ipc/opensync_serializer.c Mon Jan 5 04:09:37 2009 (r5010) +++ trunk/opensync/ipc/opensync_serializer.c Mon Jan 5 04:38:59 2009 (r5011) @@ -21,7 +21,7 @@ #include "opensync.h" #include "opensync_internals.h" -#include "opensync_message.h" +#include "opensync_message_internals.h" #include "opensync-data.h" #include "opensync-format.h" Modified: trunk/opensync/opensync-ipc.h ============================================================================== --- trunk/opensync/opensync-ipc.h Mon Jan 5 04:09:37 2009 (r5010) +++ trunk/opensync/opensync-ipc.h Mon Jan 5 04:38:59 2009 (r5011) @@ -25,7 +25,6 @@ #include "opensync-data.h" -#include "ipc/opensync_message.h" #include "ipc/opensync_queue.h" OPENSYNC_END_DECLS Modified: trunk/opensync/opensync-serializer.h ============================================================================== --- trunk/opensync/opensync-serializer.h Mon Jan 5 04:09:37 2009 (r5010) +++ trunk/opensync/opensync-serializer.h Mon Jan 5 04:38:59 2009 (r5011) @@ -24,7 +24,6 @@ OPENSYNC_BEGIN_DECLS #include "common/opensync_marshal.h" -#include "ipc/opensync_message.h" #include "ipc/opensync_serializer.h" OPENSYNC_END_DECLS Modified: trunk/tests/client-tests/check_client.c ============================================================================== --- trunk/tests/client-tests/check_client.c Mon Jan 5 04:09:37 2009 (r5010) +++ trunk/tests/client-tests/check_client.c Mon Jan 5 04:38:59 2009 (r5011) @@ -1,6 +1,7 @@ #include "support.h" #include <opensync/opensync-ipc.h> +#include "opensync/ipc/opensync_message_internals.h" #include "opensync/ipc/opensync_queue_internals.h" #include <opensync/opensync-client.h> Modified: trunk/tests/ipc-tests/check_ipc.c ============================================================================== --- trunk/tests/ipc-tests/check_ipc.c Mon Jan 5 04:09:37 2009 (r5010) +++ trunk/tests/ipc-tests/check_ipc.c Mon Jan 5 04:38:59 2009 (r5011) @@ -4,6 +4,7 @@ #endif #include <opensync/opensync-ipc.h> +#include "opensync/ipc/opensync_message_internals.h" #include "opensync/ipc/opensync_queue_internals.h" #ifndef _WIN32 Modified: trunk/tests/ipc-tests/check_serializer.c ============================================================================== --- trunk/tests/ipc-tests/check_serializer.c Mon Jan 5 04:09:37 2009 (r5010) +++ trunk/tests/ipc-tests/check_serializer.c Mon Jan 5 04:38:59 2009 (r5011) @@ -1,6 +1,7 @@ #include "support.h" #include <opensync/opensync-ipc.h> +#include "opensync/ipc/opensync_message_internals.h" #include "opensync/ipc/opensync_serializer_internals.h" #include <opensync/opensync-plugin.h> |
From: <dg...@su...> - 2009-01-05 03:09:59
|
Author: dgollub Date: Mon Jan 5 04:09:37 2009 New Revision: 5010 URL: http://www.opensync.org/changeset/5010 Log: Use OSyncMarshal and the new objformat specific merge/demerge interface to store serialized an entire copy of the entry in the archive. Overwrite the original reported change entry with the merged version. Modified: trunk/opensync/engine/opensync_engine.c trunk/opensync/engine/opensync_obj_engine.c Modified: trunk/opensync/engine/opensync_engine.c ============================================================================== --- trunk/opensync/engine/opensync_engine.c Mon Jan 5 04:06:28 2009 (r5009) +++ trunk/opensync/engine/opensync_engine.c Mon Jan 5 04:09:37 2009 (r5010) @@ -286,6 +286,8 @@ ret = osync_objformat_merge(objformat, buffer, size, &outbuf, &outsize, entirebuf, entsize, caps, &error); osync_free(entirebuf); + + osync_data_set_data(osync_change_get_data(change), outbuf, outsize); if (ret != TRUE) goto error; Modified: trunk/opensync/engine/opensync_obj_engine.c ============================================================================== --- trunk/opensync/engine/opensync_obj_engine.c Mon Jan 5 04:06:28 2009 (r5009) +++ trunk/opensync/engine/opensync_obj_engine.c Mon Jan 5 04:09:37 2009 (r5010) @@ -1118,11 +1118,12 @@ { - char *buffer = NULL, *outbuf; - unsigned int outsize = 0, size = 0; + char *buffer = NULL, *outbuf, *marshalbuf; + unsigned int outsize = 0, size = 0, marshalsize; const char *objtype = NULL; OSyncMapping *mapping = NULL; - OSyncCapabilities *caps; + OSyncMarshal *marshal = NULL; + OSyncCapabilities *caps = osync_member_get_capabilities(member); OSyncObjFormat *objformat = osync_change_get_objformat(entry_engine->change); osync_trace(TRACE_INTERNAL, "Entry %s for member %lli: Dirty: %i", osync_change_get_uid(entry_engine->change), memberid, osync_entry_engine_is_dirty(entry_engine)); @@ -1133,22 +1134,26 @@ osync_data_get_data(osync_change_get_data(entry_engine->change), &buffer, &size); - if(!osync_archive_save_data(engine->archive, osync_mapping_get_id(mapping), objtype, buffer, size, error)) { + marshal = osync_marshal_new(error); + if (!marshal) + goto error; + + if (!osync_objformat_marshal(objformat, buffer, size, marshal, error)) + goto error; + + osync_marshal_get_buffer(marshal, &marshalbuf, &marshalsize); + + if (!osync_archive_save_data(engine->archive, osync_mapping_get_id(mapping), objtype, marshalbuf, marshalsize, error)) { + osync_marshal_unref(marshal); osync_free(buffer); goto error; } - - caps = osync_member_get_capabilities(member); - if (!caps) { - osync_error_set(error, OSYNC_ERROR_MISCONFIGURATION, "No capabilities defined for Member %lli.", memberid); - goto error; - } + osync_marshal_unref(marshal); + if (!osync_objformat_demerge(objformat, buffer, size, &outbuf, &outsize, caps, error)) goto error; - osync_free(buffer); - osync_data_set_data(osync_change_get_data(entry_engine->change), outbuf, outsize); } |
From: <dg...@su...> - 2009-01-05 03:06:48
|
Author: dgollub Date: Mon Jan 5 04:06:28 2009 New Revision: 5009 URL: http://www.opensync.org/changeset/5009 Log: Swap detect and decapuslation order in detect_full function. This avoids unwanted detection of inverse-detectors. Example: full_detect(vevent20) regular detect would find object-format "plain", du to the inverse-detector, vevent20_in_plain. The first decapsulation would be then with the object format "plain" and not "vevent20". Which is not prefered detection-path. Prefered would be to start decapsulating the format given as parameter. Modified: trunk/opensync/format/opensync_format_env.c trunk/opensync/format/opensync_format_env.h Modified: trunk/opensync/format/opensync_format_env.c ============================================================================== --- trunk/opensync/format/opensync_format_env.c Mon Jan 5 03:53:36 2009 (r5008) +++ trunk/opensync/format/opensync_format_env.c Mon Jan 5 04:06:28 2009 (r5009) @@ -958,7 +958,7 @@ osync_trace(TRACE_INTERNAL, "running detector %s for format %s", osync_objformat_get_name(osync_converter_get_targetformat(converter)), osync_objformat_get_name(osync_data_get_objformat(data))); if (osync_converter_detect(converter, data)) { OSyncObjFormat *detected_format = osync_converter_get_targetformat(converter); - osync_trace(TRACE_EXIT, "%s: %p", __func__, detected_format); + osync_trace(TRACE_EXIT, "%s: %p:%s", __func__, detected_format, osync_objformat_get_name(detected_format)); return detected_format; } } @@ -986,11 +986,7 @@ */ while (TRUE) { OSyncFormatConverter *converter = NULL; - if ((detected_format = osync_format_env_detect_objformat(env, new_data))) { - /* We detected the format. So we replace the original format. */ - osync_data_set_objformat(new_data, detected_format); - } else - detected_format = osync_data_get_objformat(new_data); + /* Try to decap the change */ for (d = env->converters; d; d = d->next) { converter = d->data; @@ -1005,10 +1001,17 @@ } else converter = NULL; } - + /* We couldnt find a decap, so we quit. */ if (!converter) break; + + if ((detected_format = osync_format_env_detect_objformat(env, new_data))) { + /* We detected the format. So we replace the original format. */ + osync_data_set_objformat(new_data, detected_format); + } else + detected_format = osync_data_get_objformat(new_data); + } osync_data_unref(new_data); Modified: trunk/opensync/format/opensync_format_env.h ============================================================================== --- trunk/opensync/format/opensync_format_env.h Mon Jan 5 03:53:36 2009 (r5008) +++ trunk/opensync/format/opensync_format_env.h Mon Jan 5 04:06:28 2009 (r5009) @@ -181,8 +181,8 @@ /** @brief Tries to detect the encapsulated format of the given data object * * This will try to detect the encapsulated format of the specified data object - * and return it, but not set it. It will try to detect the format of the data object, - * deencapsulate it, detect again etc until it cannot deencapsulate further. + * and return it, but not set it. It will try to deencapsulate it, detect it, + * deencapuslate it again etc until it cannot deencapsulate further. * * @param env The conversion environment to use * @param input The data object to detect |
From: <dg...@su...> - 2009-01-05 02:54:04
|
Author: dgollub Date: Mon Jan 5 03:53:36 2009 New Revision: 5008 URL: http://www.opensync.org/changeset/5008 Log: Don't parse/assemble xmlformat in merge/demerge functions. Just pass the pointer and the struct size as output reference. Modified: format-plugins/xmlformat/trunk/src/xmlformat_merge.c Modified: format-plugins/xmlformat/trunk/src/xmlformat_merge.c ============================================================================== --- format-plugins/xmlformat/trunk/src/xmlformat_merge.c Mon Jan 5 02:29:40 2009 (r5007) +++ format-plugins/xmlformat/trunk/src/xmlformat_merge.c Mon Jan 5 03:53:36 2009 (r5008) @@ -34,13 +34,12 @@ osync_trace(TRACE_ENTRY, "%s(%p, %u, %p, %p, %p, %p, %u, %p, %p)", __func__, buf, size, destbuf, destsize, entirebuf, entiresize, caps, error); - xmlformat = osync_xmlformat_parse(buf, size, error); - if (!xmlformat) - goto error; + osync_assert(osync_xmlformat_size() == size); + osync_assert(osync_xmlformat_size() == entiresize); - entire = osync_xmlformat_parse(entirebuf, entiresize, error); - if (!entire) - goto error; + + xmlformat = (OSyncXMLFormat *) buf; + entire = (OSyncXMLFormat *) entirebuf; objtype = osync_xmlformat_get_objtype(xmlformat); @@ -169,10 +168,18 @@ Avoid it! Ticket: #754 */ osync_assert(osync_xmlformat_is_sorted(xmlformat)); - if (!osync_xmlformat_assemble(xmlformat, destbuf, destsize)) - goto error; + if (osync_trace_is_enabled()) { + char *buf; + + if (!osync_xmlformat_assemble(xmlformat, &buf, NULL)) + goto error; + + osync_trace(TRACE_SENSITIVE, "XMLFormat Merged:\n%s ", buf); + osync_free(buf); + } - osync_trace(TRACE_SENSITIVE, "XMLFormat Merged:\n%s ", *destbuf); + *destbuf = (char *) xmlformat; + *destsize = osync_xmlformat_size(); osync_trace(TRACE_EXIT, "%s", __func__); return TRUE; @@ -190,9 +197,9 @@ osync_trace(TRACE_ENTRY, "%s(%p, %u, %p, %p, %p, %p)", __func__, buf, size, destbuf, destsize, caps, error); - xmlformat = osync_xmlformat_parse(buf, size, error); - if (!xmlformat) - goto error; + osync_assert(size == osync_xmlformat_size()); + + xmlformat = (OSyncXMLFormat *) buf; cur_capability = osync_capabilities_get_first(caps, osync_xmlformat_get_objtype(xmlformat)); cur_xmlfield = osync_xmlformat_get_first_field(xmlformat); @@ -270,12 +277,21 @@ end: - if (!osync_xmlformat_assemble(xmlformat, destbuf, destsize)) - goto error; + if (osync_trace_is_enabled()) { + char *buf; + unsigned int bufsize; + + if (!osync_xmlformat_assemble(xmlformat, &buf, &bufsize)) + goto error; + + osync_trace(TRACE_SENSITIVE, "XMLFormat Demerged:\n%s ", buf); + osync_free(buf); + } - osync_trace(TRACE_SENSITIVE, "XMLFormat Demerged:\n%s ", *destbuf); + *destbuf = (char *) xmlformat; + *destsize = osync_xmlformat_size(); - osync_trace(TRACE_EXIT, "%s: ", __func__); + osync_trace(TRACE_EXIT, "%s", __func__); return TRUE; error: |
From: <dg...@su...> - 2009-01-05 01:55:55
|
Author: dgollub Date: Mon Jan 5 02:29:40 2009 New Revision: 5007 URL: http://www.opensync.org/changeset/5007 Log: Drop xmlformat-doc decapsulator function cause wrong format detection. The decapsuation, which is just memory duplication, always succeeds which has bad influence object format detection. Fixes #1017 Modified: trunk/formats/xmlformat-doc.c Modified: trunk/formats/xmlformat-doc.c ============================================================================== --- trunk/formats/xmlformat-doc.c Sun Jan 4 22:46:52 2009 (r5006) +++ trunk/formats/xmlformat-doc.c Mon Jan 5 02:29:40 2009 (r5007) @@ -28,14 +28,6 @@ #include <opensync/opensync-xmlformat.h> #include <opensync/opensync-format.h> -osync_bool convert_func(char *input, unsigned int inpsize, char **output, unsigned int *outpsize, osync_bool *free_input, const char *config, void *userdata, OSyncError **error) -{ - *free_input = TRUE; - *output = g_strdup(input); - *outpsize = inpsize; - return TRUE; -} - static osync_bool detect_plain_as_xmlformat(const char *objtype, const char *data, int size) { GString *string = NULL; @@ -151,7 +143,6 @@ OSyncObjFormat *fromformat = osync_format_env_find_objformat(env, fromname); OSyncObjFormat *toformat = osync_format_env_find_objformat(env, toname); - OSyncObjFormat *plain = osync_format_env_find_objformat(env, "plain"); if (!fromformat || !toformat) { osync_trace(TRACE_ERROR, "Unable to register converter for %s->%s, format not found\n", fromname, toname); @@ -172,17 +163,6 @@ if (!conv) { osync_trace(TRACE_ERROR, "Unable to register converter: %s", osync_error_print(&error)); osync_error_unref(&error); - return FALSE; - } - osync_format_env_register_converter(env, conv); - osync_converter_unref(conv); - - - /* plain as xmlformat */ - conv = osync_converter_new(OSYNC_CONVERTER_DECAP, plain, fromformat, convert_func, &error); - if (!conv) { - osync_trace(TRACE_ERROR, "Unable to register converter: %s", osync_error_print(&error)); - osync_error_unref(&error); return FALSE; } osync_format_env_register_converter(env, conv); |
From: <dg...@su...> - 2009-01-04 22:35:55
|
Author: dgollub Date: Sun Jan 4 22:35:17 2009 New Revision: 5003 URL: http://www.opensync.org/changeset/5003 Log: Replace OSyncMessage* argument in object format marshal/demarshal calls by OSyncMarshal*. OSyncMarshal allows a simpler interface to marshal data, without the OSyncMessage interface overhead. Porting instruction for format-plugins using the OSyncMessage interface for the marshaling calls marshal/demarshal: %s/OSyncMessage/OSyncMarshal/g %s/osync_message/osync_marshal/g Modified: trunk/opensync/format/opensync_objformat.c trunk/opensync/format/opensync_objformat.h trunk/opensync/format/opensync_objformat_internals.h trunk/opensync/ipc/opensync_serializer.c Modified: trunk/opensync/format/opensync_objformat.c ============================================================================== --- trunk/opensync/format/opensync_objformat.c Sun Jan 4 22:32:48 2009 (r5002) +++ trunk/opensync/format/opensync_objformat.c Sun Jan 4 22:35:17 2009 (r5003) @@ -260,11 +260,11 @@ return format->marshal_func ? TRUE : FALSE; } -osync_bool osync_objformat_marshal(OSyncObjFormat *format, const char *input, unsigned int inpsize, OSyncMessage *message, OSyncError **error) +osync_bool osync_objformat_marshal(OSyncObjFormat *format, const char *input, unsigned int inpsize, OSyncMarshal *marshal, OSyncError **error) { osync_assert(format); osync_return_val_if_fail(format->marshal_func, TRUE); - return format->marshal_func(input, inpsize, message, error); + return format->marshal_func(input, inpsize, marshal, error); } void osync_objformat_set_demarshal_func(OSyncObjFormat *format, OSyncFormatDemarshalFunc demarshal_func) @@ -273,11 +273,11 @@ format->demarshal_func = demarshal_func; } -osync_bool osync_objformat_demarshal(OSyncObjFormat *format, OSyncMessage *message, char **output, unsigned int *outpsize, OSyncError **error) +osync_bool osync_objformat_demarshal(OSyncObjFormat *format, OSyncMarshal *marshal, char **output, unsigned int *outpsize, OSyncError **error) { osync_assert(format); osync_return_val_if_fail(format->demarshal_func, TRUE); - return format->demarshal_func(message, output, outpsize, error); + return format->demarshal_func(marshal, output, outpsize, error); } void osync_objformat_set_validate_func(OSyncObjFormat *format, OSyncFormatValidateFunc validate_func) Modified: trunk/opensync/format/opensync_objformat.h ============================================================================== --- trunk/opensync/format/opensync_objformat.h Sun Jan 4 22:32:48 2009 (r5002) +++ trunk/opensync/format/opensync_objformat.h Sun Jan 4 22:35:17 2009 (r5003) @@ -40,8 +40,8 @@ typedef void (* OSyncFormatDestroyFunc) (char *data, unsigned int size); typedef char *(* OSyncFormatPrintFunc) (const char *data, unsigned int size); typedef time_t (* OSyncFormatRevisionFunc) (const char *data, unsigned int size, OSyncError **error); -typedef osync_bool (* OSyncFormatMarshalFunc) (const char *input, unsigned int inpsize, OSyncMessage *message, OSyncError **error); -typedef osync_bool (* OSyncFormatDemarshalFunc) (OSyncMessage *message, char **output, unsigned int *outpsize, OSyncError **error); +typedef osync_bool (* OSyncFormatMarshalFunc) (const char *input, unsigned int inpsize, OSyncMarshal *marshal, OSyncError **error); +typedef osync_bool (* OSyncFormatDemarshalFunc) (OSyncMarshal *marshal, char **output, unsigned int *outpsize, OSyncError **error); typedef osync_bool (* OSyncFormatValidateFunc) (const char *data, unsigned int size, void *user_data, OSyncError **error); typedef osync_bool (* OSyncFormatMergeFunc) (const char *input, unsigned int inpsize, char **output, unsigned int *outpsize, const char *entire, unsigned int entsize, OSyncCapabilities *caps, OSyncError **error); Modified: trunk/opensync/format/opensync_objformat_internals.h ============================================================================== --- trunk/opensync/format/opensync_objformat_internals.h Sun Jan 4 22:32:48 2009 (r5002) +++ trunk/opensync/format/opensync_objformat_internals.h Sun Jan 4 22:35:17 2009 (r5003) @@ -131,28 +131,28 @@ OSYNC_TEST_EXPORT osync_bool osync_objformat_must_marshal(OSyncObjFormat *format); /** - * @brief Marshals supplied input in format specific way into a serialized OSyncMessage + * @brief Marshals supplied input in format specific way into a serialized OSyncMarshal * * @param format Pointer to the object format * @param input Data to marshal * @param inpsize Size of supplied data - * @param message Marshaled data in a OSyncMessage + * @param marshal Marshaled data in a OSyncMarshal * @param error Pointer to an error struct * @returns TRUE on success, FALSE otherwise */ -OSYNC_TEST_EXPORT osync_bool osync_objformat_marshal(OSyncObjFormat *format, const char *input, unsigned int inpsize, OSyncMessage *message, OSyncError **error); +OSYNC_TEST_EXPORT osync_bool osync_objformat_marshal(OSyncObjFormat *format, const char *input, unsigned int inpsize, OSyncMarshal *marshal, OSyncError **error); /** - * @brief Demarshals supplied OSyncMessage in format specific way + * @brief Demarshals supplied OSyncMarshal in format specific way * * @param format Pointer to the object format - * @param message Marshaled data as OSyncMessage + * @param marshal Marshaled data as OSyncMarshal * @param output Data to store unserialized Message content * @param outpsize Size of demarshled data in output parameter * @param error Pointer to an error struct * @returns TRUE on success, FALSE otherwise */ -OSYNC_TEST_EXPORT osync_bool osync_objformat_demarshal(OSyncObjFormat *format, OSyncMessage *message, char **output, unsigned int *outpsize, OSyncError **error); +OSYNC_TEST_EXPORT osync_bool osync_objformat_demarshal(OSyncObjFormat *format, OSyncMarshal *marshal, char **output, unsigned int *outpsize, OSyncError **error); /** * @brief Validate supplied data in format specific way Modified: trunk/opensync/ipc/opensync_serializer.c ============================================================================== --- trunk/opensync/ipc/opensync_serializer.c Sun Jan 4 22:32:48 2009 (r5002) +++ trunk/opensync/ipc/opensync_serializer.c Sun Jan 4 22:35:17 2009 (r5003) @@ -65,7 +65,8 @@ /* If the format must be marshalled, we call the marshal function * and the send the marshalled data. Otherwise we send the unmarshalled data */ if (osync_objformat_must_marshal(objformat) == TRUE) { - if (!osync_objformat_marshal(objformat, input_data, input_size, message, error)) + OSyncMarshal *marshal = osync_message_get_marshal(message); + if (!osync_objformat_marshal(objformat, input_data, input_size, marshal, error)) goto error; } else { /* If the format is a plain format, then we have to add @@ -119,7 +120,8 @@ if (has_data) { if (osync_objformat_must_marshal(format) == TRUE) { - if (!osync_objformat_demarshal(format, message, &input_data, &input_size, error)) + OSyncMarshal *marshal = osync_message_get_marshal(message); + if (!osync_objformat_demarshal(format, marshal, &input_data, &input_size, error)) goto error; } else { osync_message_read_buffer(message, (void *)&input_data, (int *)&input_size); |
From: <dg...@su...> - 2009-01-04 22:35:55
|
Author: dgollub Date: Sun Jan 4 22:32:48 2009 New Revision: 5002 URL: http://www.opensync.org/changeset/5002 Log: Wrap OSyncMarshal calls within OSyncMessage, to avoid redudant code. osync_message_get_marshal is on purpose exported as OSYNC_TEST_EXPORT. Maybe OSyncMessage got obsolate in the public API and get moved to private API space. Needs further review... Modified: trunk/opensync/ipc/opensync_message.c trunk/opensync/ipc/opensync_message.h trunk/opensync/ipc/opensync_message_internals.h Modified: trunk/opensync/ipc/opensync_message.c ============================================================================== --- trunk/opensync/ipc/opensync_message.c Sun Jan 4 22:28:13 2009 (r5001) +++ trunk/opensync/ipc/opensync_message.c Sun Jan 4 22:32:48 2009 (r5002) @@ -21,6 +21,8 @@ #include "opensync.h" #include "opensync_internals.h" +#include "common/opensync_marshal.h" + #include "opensync_serializer_internals.h" #include "opensync_message.h" @@ -34,11 +36,11 @@ message->cmd = cmd; message->refCount = 1; - if (size > 0) - message->buffer = g_byte_array_sized_new( size ); - else - message->buffer = g_byte_array_new(); - message->buffer_read_pos = 0; + + message->marshal = osync_marshal_sized_new(size, error); + if (!message->marshal) + return NULL; + return message; } @@ -53,9 +55,9 @@ { if (g_atomic_int_dec_and_test(&(message->refCount))) { - g_byte_array_free(message->buffer, TRUE); + osync_marshal_unref(message->marshal); - g_free(message); + osync_free(message); } } @@ -83,27 +85,25 @@ return message->id; } +OSyncMarshal *osync_message_get_marshal(OSyncMessage *message) +{ + osync_return_val_if_fail(message, NULL); + return message->marshal; +} + unsigned int osync_message_get_message_size(OSyncMessage *message) { - osync_assert(message); - return message->buffer->len; + return osync_marshal_get_marshal_size(message->marshal); } void osync_message_set_message_size(OSyncMessage *message, unsigned int size) { - osync_assert(message); - message->buffer->len = size; + osync_marshal_set_marshal_size(message->marshal, size); } void osync_message_get_buffer(OSyncMessage *message, char **data, unsigned int *size) { - osync_assert(message); - - if (data) - *data = (char *)message->buffer->data; - - if (size) - *size = message->buffer->len; + osync_marshal_get_buffer(message->marshal, data, size); } void osync_message_set_handler(OSyncMessage *message, OSyncMessageHandler handler, void *user_data) @@ -194,136 +194,75 @@ void osync_message_write_int(OSyncMessage *message, int value) { - g_byte_array_append( message->buffer, (unsigned char*)&value, sizeof( int ) ); + osync_marshal_write_int(message->marshal, value); } void osync_message_write_uint(OSyncMessage *message, unsigned int value) { - g_byte_array_append( message->buffer, (unsigned char*)&value, sizeof( unsigned int ) ); + osync_marshal_write_uint(message->marshal, value); } void osync_message_write_long_long_int(OSyncMessage *message, long long int value) { - g_byte_array_append( message->buffer, (unsigned char*)&value, sizeof( long long int ) ); + osync_marshal_write_long_long_int(message->marshal, value); } void osync_message_write_string(OSyncMessage *message, const char *value) { - int length = 0; - if (value == NULL) { - length = -1; - g_byte_array_append( message->buffer, (unsigned char*)&length, sizeof( int ) ); - } else { - int length = strlen( value ) + 1; - g_byte_array_append( message->buffer, (unsigned char*)&length, sizeof( int ) ); - g_byte_array_append( message->buffer, (unsigned char*)value, length ); - } + osync_marshal_write_string(message->marshal, value); } void osync_message_write_data(OSyncMessage *message, const void *value, int size) { - /* TODO move this to PRIVATE API */ - g_byte_array_append( message->buffer, value, size ); + osync_marshal_write_data(message->marshal, value, size); } void osync_message_write_buffer(OSyncMessage *message, const void *value, int size) { - /* serialize the length of the data to make it possible to determine the end - of this data blob in the serialized blob. This makes demarshaling possible! */ - osync_message_write_int(message, size); - if (size > 0) - osync_message_write_data(message, value, size); + osync_marshal_write_buffer(message->marshal, value, size); } void osync_message_read_int(OSyncMessage *message, int *value) { - osync_assert(message->buffer->len >= message->buffer_read_pos + sizeof(int)); - - memcpy(value, &(message->buffer->data[ message->buffer_read_pos ]), sizeof(int)); - message->buffer_read_pos += sizeof(int); + osync_marshal_read_int(message->marshal, value); } void osync_message_read_uint(OSyncMessage *message, unsigned int *value) { - osync_assert(message->buffer->len >= message->buffer_read_pos + sizeof(unsigned int)); - - memcpy(value, &(message->buffer->data[ message->buffer_read_pos ]), sizeof(unsigned int)); - message->buffer_read_pos += sizeof(unsigned int); + osync_marshal_read_uint(message->marshal, value); } void osync_message_read_long_long_int(OSyncMessage *message, long long int *value) { - osync_assert(message->buffer->len >= message->buffer_read_pos + sizeof(long long int)); - - memcpy(value, &(message->buffer->data[ message->buffer_read_pos ]), sizeof(long long int)); - message->buffer_read_pos += sizeof(long long int); + osync_marshal_read_long_long_int(message->marshal, value); } /* TODO Change char** to const char ** */ void osync_message_read_const_string(OSyncMessage *message, char **value) { - int length = 0; - osync_message_read_int(message, &length); - - if (length == -1) { - *value = NULL; - return; - } - - osync_assert(message->buffer->len >= message->buffer_read_pos + length); - *value = (char *)&(message->buffer->data[message->buffer_read_pos]); - message->buffer_read_pos += length; + osync_marshal_read_const_string(message->marshal, value); } void osync_message_read_string(OSyncMessage *message, char **value) { - int length = 0; - osync_message_read_int(message, &length); - - if (length == -1) { - *value = NULL; - return; - } - - osync_assert(message->buffer->len >= message->buffer_read_pos + length); - - /* TODO: Error handling? */ - *value = (char*) osync_try_malloc0(length, NULL); - if (!*value) - return; - - memcpy(*value, &(message->buffer->data[ message->buffer_read_pos ]), length ); - message->buffer_read_pos += length; + osync_marshal_read_string(message->marshal, value); } void osync_message_read_const_data(OSyncMessage *message, void **value, int size) { - osync_assert(message->buffer->len >= message->buffer_read_pos + size); - - *value = &(message->buffer->data[message->buffer_read_pos]); - message->buffer_read_pos += size; + osync_marshal_read_const_data(message->marshal, value, size); } void osync_message_read_data(OSyncMessage *message, void *value, int size) { - osync_assert(message->buffer->len >= message->buffer_read_pos + size); - - memcpy(value, &(message->buffer->data[ message->buffer_read_pos ]), size ); - message->buffer_read_pos += size; + osync_marshal_read_data(message->marshal, value, size); } void osync_message_read_buffer(OSyncMessage *message, void **value, int *size) { - /* Now, read the data from the message */ - osync_message_read_int(message, size); - - if (*size > 0) { - *value = g_malloc0(*size); - osync_message_read_data(message, *value, *size); - } + osync_marshal_read_buffer(message->marshal, value, size); } - char* osync_message_get_commandstr(OSyncMessage *message) { char* cmdstr = "UNKNOWN"; @@ -381,4 +320,3 @@ return cmdstr; } - Modified: trunk/opensync/ipc/opensync_message.h ============================================================================== --- trunk/opensync/ipc/opensync_message.h Sun Jan 4 22:28:13 2009 (r5001) +++ trunk/opensync/ipc/opensync_message.h Sun Jan 4 22:32:48 2009 (r5002) @@ -159,6 +159,15 @@ */ OSYNC_EXPORT long long int osync_message_get_id(OSyncMessage *message); +/** @brief Get marshal object of supplied message object + * + * @param message The message + * @returns Pointer of the marshal object, NULL if no marshal object is + * associated with the message + * + */ +OSYNC_TEST_EXPORT OSyncMarshal *osync_message_get_marshal(OSyncMessage *message); + /** @brief Get message size of supplied message object * * @param message The message Modified: trunk/opensync/ipc/opensync_message_internals.h ============================================================================== --- trunk/opensync/ipc/opensync_message_internals.h Sun Jan 4 22:28:13 2009 (r5001) +++ trunk/opensync/ipc/opensync_message_internals.h Sun Jan 4 22:32:48 2009 (r5002) @@ -48,12 +48,11 @@ //timeout_info *to_info; /** If this message has already been answered */ osync_bool is_answered; - /** The pointer to the internal **/ - GByteArray *buffer; - /** The current read position **/ - int buffer_read_pos; + /** The internal OSyncMarshal object **/ + OSyncMarshal *marshal; }; /*@}*/ -#endif /*_OPENSYNC_MESSAGES_INTERNALS_H*/ +#endif /* _OPENSYNC_MESSAGES_INTERNALS_H */ + |
From: <dg...@su...> - 2009-01-04 22:35:52
|
Author: dgollub Date: Sun Jan 4 22:36:43 2009 New Revision: 5005 URL: http://www.opensync.org/changeset/5005 Log: Porting object format marshaling testsuite to latest API change. Modified: trunk/tests/format-tests/check_objformat.c Modified: trunk/tests/format-tests/check_objformat.c ============================================================================== --- trunk/tests/format-tests/check_objformat.c Sun Jan 4 22:36:18 2009 (r5004) +++ trunk/tests/format-tests/check_objformat.c Sun Jan 4 22:36:43 2009 (r5005) @@ -47,15 +47,15 @@ return atoi(data); } -osync_bool marshal_format(const char *input, unsigned int inpsize, OSyncMessage *message, OSyncError **error) +osync_bool marshal_format(const char *input, unsigned int inpsize, OSyncMarshal *marshal, OSyncError **error) { - osync_message_write_buffer(message, input, inpsize); + osync_marshal_write_buffer(marshal, input, inpsize); return TRUE; } -osync_bool demarshal_format(OSyncMessage *message, char **output, unsigned int *outsize, OSyncError **error) +osync_bool demarshal_format(OSyncMarshal *marshal, char **output, unsigned int *outsize, OSyncError **error) { - osync_message_read_buffer(message, (void *)output, (int *)outsize); + osync_marshal_read_buffer(marshal, (void *)output, (int *)outsize); return TRUE; } @@ -293,14 +293,14 @@ fail_unless(osync_objformat_must_marshal(format) == TRUE, NULL); - OSyncMessage *message = osync_message_new(0, 0, &error); - fail_unless(message != NULL, NULL); + OSyncMarshal *marshal = osync_marshal_new(&error); + fail_unless(marshal != NULL, NULL); fail_unless(error == NULL, NULL); - fail_unless(osync_objformat_marshal(format, "test", 5, message, &error), NULL); + fail_unless(osync_objformat_marshal(format, "test", 5, marshal, &error), NULL); fail_unless(error == NULL, NULL); - osync_message_unref(message); + osync_marshal_unref(marshal); osync_objformat_unref(format); @@ -320,16 +320,16 @@ osync_objformat_set_marshal_func(format, marshal_format); osync_objformat_set_destroy_func(format, destroy_format); - OSyncMessage *message = osync_message_new(0, 0, &error); - fail_unless(message != NULL, NULL); + OSyncMarshal *marshal = osync_marshal_new(&error); + fail_unless(marshal != NULL, NULL); fail_unless(error == NULL, NULL); - fail_unless(osync_objformat_marshal(format, "test", 5, message, &error), NULL); + fail_unless(osync_objformat_marshal(format, "test", 5, marshal, &error), NULL); fail_unless(error == NULL, NULL); char *outdata = NULL; unsigned int outsize = 0; - fail_unless(osync_objformat_demarshal(format, message, &outdata, &outsize, &error), NULL); + fail_unless(osync_objformat_demarshal(format, marshal, &outdata, &outsize, &error), NULL); fail_unless(error == NULL, NULL); fail_unless(!strcmp(outdata, "test"), NULL); @@ -337,7 +337,7 @@ g_free(outdata); osync_objformat_unref(format); - osync_message_unref(message); + osync_marshal_unref(marshal); destroy_testbed(testbed); } |
From: <dg...@su...> - 2009-01-04 22:35:51
|
Author: dgollub Date: Sun Jan 4 22:36:18 2009 New Revision: 5004 URL: http://www.opensync.org/changeset/5004 Log: Porting mock-format plugin and file-format plugin to merger/demerge function API changes. Modified: trunk/formats/file.c trunk/tests/mock-plugin/mock_format.c Modified: trunk/formats/file.c ============================================================================== --- trunk/formats/file.c Sun Jan 4 22:35:17 2009 (r5003) +++ trunk/formats/file.c Sun Jan 4 22:36:18 2009 (r5004) @@ -164,29 +164,29 @@ return printable; } -static osync_bool marshal_file(const char *input, unsigned int inpsize, OSyncMessage *message, OSyncError **error) +static osync_bool marshal_file(const char *input, unsigned int inpsize, OSyncMarshal *marshal, OSyncError **error) { OSyncFileFormat *file = (OSyncFileFormat *)input; - osync_trace(TRACE_ENTRY, "%s(%p, %i, %p, %p)", __func__, input, inpsize, message, error); + osync_trace(TRACE_ENTRY, "%s(%p, %i, %p, %p)", __func__, input, inpsize, marshal, error); - osync_message_write_string(message, file->path); - osync_message_write_buffer(message, file->data, file->size); + osync_marshal_write_string(marshal, file->path); + osync_marshal_write_buffer(marshal, file->data, file->size); osync_trace(TRACE_EXIT, "%s", __func__); return TRUE; } -static osync_bool demarshal_file(OSyncMessage *message, char **output, unsigned int *outpsize, OSyncError **error) +static osync_bool demarshal_file(OSyncMarshal *marshal, char **output, unsigned int *outpsize, OSyncError **error) { OSyncFileFormat *file = NULL; - osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, message, output, outpsize, error); + osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, marshal, output, outpsize, error); file = osync_try_malloc0(sizeof(OSyncFileFormat), error); if (!file) goto error; - osync_message_read_string(message, &(file->path)); - osync_message_read_buffer(message, (void *)&(file->data), (int *)&(file->size)); + osync_marshal_read_string(marshal, &(file->path)); + osync_marshal_read_buffer(marshal, (void *)&(file->data), (int *)&(file->size)); *output = (char *)file; *outpsize = sizeof(OSyncFileFormat); Modified: trunk/tests/mock-plugin/mock_format.c ============================================================================== --- trunk/tests/mock-plugin/mock_format.c Sun Jan 4 22:35:17 2009 (r5003) +++ trunk/tests/mock-plugin/mock_format.c Sun Jan 4 22:36:18 2009 (r5004) @@ -198,28 +198,28 @@ return printable; } -static osync_bool marshal_file(const char *input, unsigned int inpsize, OSyncMessage *message, OSyncError **error) +static osync_bool marshal_file(const char *input, unsigned int inpsize, OSyncMarshal *marshal, OSyncError **error) { - osync_trace(TRACE_ENTRY, "%s(%p, %i, %p, %p)", __func__, input, inpsize, message, error); + osync_trace(TRACE_ENTRY, "%s(%p, %i, %p, %p)", __func__, input, inpsize, marshal, error); OSyncFileFormat *file = (OSyncFileFormat *)input; - osync_message_write_string(message, file->path); - osync_message_write_buffer(message, file->data, file->size); + osync_marshal_write_string(marshal, file->path); + osync_marshal_write_buffer(marshal, file->data, file->size); osync_trace(TRACE_EXIT, "%s", __func__); return TRUE; } -static osync_bool demarshal_file(OSyncMessage *message, char **output, unsigned int *outpsize, OSyncError **error) +static osync_bool demarshal_file(OSyncMarshal *marshal, char **output, unsigned int *outpsize, OSyncError **error) { - osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, message, output, outpsize, error); + osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, marshal, output, outpsize, error); OSyncFileFormat *file = osync_try_malloc0(sizeof(OSyncFileFormat), error); osync_assert(file); - osync_message_read_string(message, &(file->path)); - osync_message_read_buffer(message, (void *)&(file->data), (int *)&(file->size)); + osync_marshal_read_string(marshal, &(file->path)); + osync_marshal_read_buffer(marshal, (void *)&(file->data), (int *)&(file->size)); *output = (char *)file; *outpsize = sizeof(OSyncFileFormat); |
From: <dg...@su...> - 2009-01-04 22:19:17
|
Author: dgollub Date: Sun Jan 4 22:46:52 2009 New Revision: 5006 URL: http://www.opensync.org/changeset/5006 Log: Porting xmlformat-plugin to demerge/merge-function API change. Make use of OSyncMerge. Modified: format-plugins/xmlformat/trunk/src/xmlformat.c format-plugins/xmlformat/trunk/src/xmlformat.h Modified: format-plugins/xmlformat/trunk/src/xmlformat.c ============================================================================== --- format-plugins/xmlformat/trunk/src/xmlformat.c Sun Jan 4 22:36:43 2009 (r5005) +++ format-plugins/xmlformat/trunk/src/xmlformat.c Sun Jan 4 22:46:52 2009 (r5006) @@ -83,7 +83,7 @@ return buffer; } -osync_bool marshal_xmlformat(const char *input, unsigned int inpsize, OSyncMessage *message, OSyncError **error) +osync_bool marshal_xmlformat(const char *input, unsigned int inpsize, OSyncMarshal *marshal, OSyncError **error) { char *buffer; unsigned int size; @@ -91,19 +91,19 @@ if(!osync_xmlformat_assemble((OSyncXMLFormat *)input, &buffer, &size)) return FALSE; - osync_message_write_buffer(message, buffer, (int)size); + osync_marshal_write_buffer(marshal, buffer, (int)size); g_free(buffer); return TRUE; } -osync_bool demarshal_xmlformat(OSyncMessage *message, char **output, unsigned int *outpsize, OSyncError **error) +osync_bool demarshal_xmlformat(OSyncMarshal *marshal, char **output, unsigned int *outpsize, OSyncError **error) { void *buffer = NULL; unsigned int size = 0; OSyncXMLFormat *xmlformat = NULL; - osync_message_read_buffer(message, &buffer, (int *)&size); + osync_marshal_read_buffer(marshal, &buffer, (int *)&size); xmlformat = osync_xmlformat_parse((char *)buffer, size, error); if (!xmlformat) { Modified: format-plugins/xmlformat/trunk/src/xmlformat.h ============================================================================== --- format-plugins/xmlformat/trunk/src/xmlformat.h Sun Jan 4 22:36:43 2009 (r5005) +++ format-plugins/xmlformat/trunk/src/xmlformat.h Sun Jan 4 22:46:52 2009 (r5006) @@ -33,7 +33,6 @@ #include <opensync/opensync.h> #include <opensync/opensync-xmlformat.h> -#include <opensync/opensync-serializer.h> #include <opensync/opensync-format.h> #include <opensync/opensync-time.h> @@ -66,9 +65,6 @@ osync_bool copy_xmlformat(const char *input, unsigned int inpsize, char **output, unsigned int *outpsize, OSyncError **error); char *print_xmlformat(const char *data, unsigned int size); -osync_bool marshal_xmlformat(const char *input, unsigned int inpsize, OSyncMessage *message, OSyncError **error); -osync_bool demarshal_xmlformat(OSyncMessage *message, char **output, unsigned int *outpsize, OSyncError **error); - int xmlformat_get_points(OSyncXMLPoints points[], int* cur_pos, int basic_points, const char* fieldname); OSyncConvCmpResult xmlformat_compare(OSyncXMLFormat *xmlformat1, OSyncXMLFormat *xmlformat2, OSyncXMLPoints points[], int basic_points, int treshold); |
From: <dg...@su...> - 2009-01-04 21:28:33
|
Author: dgollub Date: Sun Jan 4 22:28:13 2009 New Revision: 5001 URL: http://www.opensync.org/changeset/5001 Log: Introduce OSyncMarshal, which is the marshaling subset of OSyncMessage. Added: trunk/opensync/common/opensync_marshal.c (contents, props changed) - copied, changed from r4994, trunk/opensync/ipc/opensync_message.c trunk/opensync/common/opensync_marshal.h trunk/opensync/common/opensync_marshal_private.h (contents, props changed) - copied, changed from r4994, trunk/opensync/ipc/opensync_message_internals.h Modified: trunk/opensync.sym trunk/opensync/CMakeLists.txt trunk/opensync/opensync-common.h trunk/opensync/opensync-serializer.h trunk/opensync/opensync.h Modified: trunk/opensync.sym ============================================================================== --- trunk/opensync.sym Sun Jan 4 22:25:28 2009 (r5000) +++ trunk/opensync.sym Sun Jan 4 22:28:13 2009 (r5001) @@ -292,6 +292,27 @@ osync_mapping_table_remove_mapping osync_mapping_table_unref osync_mapping_unref +osync_marshal_get_buffer +osync_marshal_get_marshal_size +osync_marshal_new +osync_marshal_read_buffer +osync_marshal_read_const_data +osync_marshal_read_const_string +osync_marshal_read_data +osync_marshal_read_int +osync_marshal_read_long_long_int +osync_marshal_read_string +osync_marshal_read_uint +osync_marshal_ref +osync_marshal_set_marshal_size +osync_marshal_sized_new +osync_marshal_unref +osync_marshal_write_buffer +osync_marshal_write_data +osync_marshal_write_int +osync_marshal_write_long_long_int +osync_marshal_write_string +osync_marshal_write_uint osync_member_add_objformat osync_member_add_objformat_with_config osync_member_add_objtype_sink Modified: trunk/opensync/CMakeLists.txt ============================================================================== --- trunk/opensync/CMakeLists.txt Sun Jan 4 22:25:28 2009 (r5000) +++ trunk/opensync/CMakeLists.txt Sun Jan 4 22:28:13 2009 (r5001) @@ -13,6 +13,7 @@ common/opensync_error.c common/opensync_file.c common/opensync_list.c + common/opensync_marshal.c common/opensync_memory.c common/opensync_string.c common/opensync_thread.c Copied and modified: trunk/opensync/common/opensync_marshal.c (from r4994, trunk/opensync/ipc/opensync_message.c) ============================================================================== --- trunk/opensync/ipc/opensync_message.c Sun Jan 4 17:45:28 2009 (r4994, copy source) +++ trunk/opensync/common/opensync_marshal.c Sun Jan 4 22:28:13 2009 (r5001) @@ -21,364 +21,200 @@ #include "opensync.h" #include "opensync_internals.h" -#include "opensync_serializer_internals.h" -#include "opensync_message.h" +#include "opensync_marshal.h" +#include "opensync_marshal_private.h" -#include "opensync_message_internals.h" - -OSyncMessage *osync_message_new(OSyncMessageCommand cmd, unsigned int size, OSyncError **error) +OSyncMarshal *osync_marshal_sized_new(unsigned int size, OSyncError **error) { - OSyncMessage *message = osync_try_malloc0(sizeof(OSyncMessage), error); - if (!message) + OSyncMarshal *marshal = osync_try_malloc0(sizeof(OSyncMarshal), error); + if (!marshal) return NULL; - message->cmd = cmd; - message->refCount = 1; + marshal->ref_count = 1; + if (size > 0) - message->buffer = g_byte_array_sized_new( size ); + marshal->buffer = g_byte_array_sized_new( size ); else - message->buffer = g_byte_array_new(); - message->buffer_read_pos = 0; - return message; -} + marshal->buffer = g_byte_array_new(); -OSyncMessage *osync_message_ref(OSyncMessage *message) -{ - g_atomic_int_inc(&(message->refCount)); + marshal->buffer_read_pos = 0; - return message; + return marshal; } -void osync_message_unref(OSyncMessage *message) +OSyncMarshal *osync_marshal_new(OSyncError **error) { - if (g_atomic_int_dec_and_test(&(message->refCount))) { - - g_byte_array_free(message->buffer, TRUE); - - g_free(message); - } + return osync_marshal_sized_new(0, error); } -void osync_message_set_cmd(OSyncMessage *message, OSyncMessageCommand cmd) +OSyncMarshal *osync_marshal_ref(OSyncMarshal *marshal) { - osync_assert(message); - message->cmd = cmd; -} + g_atomic_int_inc(&(marshal->ref_count)); -OSyncMessageCommand osync_message_get_cmd(OSyncMessage *message) -{ - osync_assert(message); - return message->cmd; + return marshal; } -void osync_message_set_id(OSyncMessage *message, long long int id) +void osync_marshal_unref(OSyncMarshal *marshal) { - osync_assert(message); - message->id = id; -} - -long long int osync_message_get_id(OSyncMessage *message) -{ - osync_assert(message); - return message->id; + if (g_atomic_int_dec_and_test(&(marshal->ref_count))) { + + g_byte_array_free(marshal->buffer, TRUE); + + osync_free(marshal); + } } -unsigned int osync_message_get_message_size(OSyncMessage *message) +unsigned int osync_marshal_get_marshal_size(OSyncMarshal *marshal) { - osync_assert(message); - return message->buffer->len; + osync_assert(marshal); + return marshal->buffer->len; } -void osync_message_set_message_size(OSyncMessage *message, unsigned int size) +void osync_marshal_set_marshal_size(OSyncMarshal *marshal, unsigned int size) { - osync_assert(message); - message->buffer->len = size; + osync_assert(marshal); + marshal->buffer->len = size; } -void osync_message_get_buffer(OSyncMessage *message, char **data, unsigned int *size) +void osync_marshal_get_buffer(OSyncMarshal *marshal, char **data, unsigned int *size) { - osync_assert(message); + osync_assert(marshal); if (data) - *data = (char *)message->buffer->data; + *data = (char *)marshal->buffer->data; if (size) - *size = message->buffer->len; -} - -void osync_message_set_handler(OSyncMessage *message, OSyncMessageHandler handler, void *user_data) -{ - message->user_data = user_data; - message->callback = handler; -} - -OSyncMessageHandler osync_message_get_handler(OSyncMessage *message) -{ - osync_assert(message); - return message->callback; -} - -void *osync_message_get_handler_data(OSyncMessage *message) -{ - osync_assert(message); - return message->user_data; -} - -OSyncMessage *osync_message_new_reply(OSyncMessage *message, OSyncError **error) -{ - OSyncMessage *reply = osync_message_new(OSYNC_MESSAGE_REPLY, 0, error); - if (!reply) - return NULL; - - reply->id = message->id; - return reply; -} - -OSyncMessage *osync_message_new_errorreply(OSyncMessage *message, OSyncError *error, OSyncError **loc_error) -{ - OSyncMessage *reply = osync_message_new(OSYNC_MESSAGE_ERRORREPLY, 0, loc_error); - if (!reply) - return NULL; - - osync_marshal_error(reply, error); - - if (message) - reply->id = message->id; - return reply; -} - -OSyncMessage *osync_message_new_error(OSyncError *error, OSyncError **loc_error) -{ - OSyncMessage *message = osync_message_new(OSYNC_MESSAGE_ERROR, 0, loc_error); - if (!message) - return NULL; - - osync_marshal_error(message, error); - - return message; -} - -OSyncMessage *osync_message_new_queue_error(OSyncError *error, OSyncError **loc_error) -{ - OSyncMessage *message = osync_message_new(OSYNC_MESSAGE_QUEUE_ERROR, 0, loc_error); - if (!message) - return NULL; - - osync_marshal_error(message, error); - - return message; -} - -osync_bool osync_message_is_error(OSyncMessage *message) -{ - if (message->cmd == OSYNC_MESSAGE_ERRORREPLY) - return TRUE; - return FALSE; + *size = marshal->buffer->len; } -osync_bool osync_message_is_answered(OSyncMessage *message) +void osync_marshal_write_int(OSyncMarshal *marshal, int value) { - return message->is_answered; + g_byte_array_append( marshal->buffer, (unsigned char*)&value, sizeof( int ) ); } -void osync_message_set_answered(OSyncMessage *message) +void osync_marshal_write_uint(OSyncMarshal *marshal, unsigned int value) { - message->is_answered = TRUE; + g_byte_array_append( marshal->buffer, (unsigned char*)&value, sizeof( unsigned int ) ); } -OSyncMessageCommand osync_message_get_command(OSyncMessage *message) +void osync_marshal_write_long_long_int(OSyncMarshal *marshal, long long int value) { - g_assert(message); - return message->cmd; + g_byte_array_append( marshal->buffer, (unsigned char*)&value, sizeof( long long int ) ); } -void osync_message_write_int(OSyncMessage *message, int value) -{ - g_byte_array_append( message->buffer, (unsigned char*)&value, sizeof( int ) ); -} - -void osync_message_write_uint(OSyncMessage *message, unsigned int value) -{ - g_byte_array_append( message->buffer, (unsigned char*)&value, sizeof( unsigned int ) ); -} - -void osync_message_write_long_long_int(OSyncMessage *message, long long int value) -{ - g_byte_array_append( message->buffer, (unsigned char*)&value, sizeof( long long int ) ); -} - -void osync_message_write_string(OSyncMessage *message, const char *value) +void osync_marshal_write_string(OSyncMarshal *marshal, const char *value) { int length = 0; if (value == NULL) { length = -1; - g_byte_array_append( message->buffer, (unsigned char*)&length, sizeof( int ) ); + g_byte_array_append( marshal->buffer, (unsigned char*)&length, sizeof( int ) ); } else { int length = strlen( value ) + 1; - g_byte_array_append( message->buffer, (unsigned char*)&length, sizeof( int ) ); - g_byte_array_append( message->buffer, (unsigned char*)value, length ); + g_byte_array_append( marshal->buffer, (unsigned char*)&length, sizeof( int ) ); + g_byte_array_append( marshal->buffer, (unsigned char*)value, length ); } } -void osync_message_write_data(OSyncMessage *message, const void *value, int size) +void osync_marshal_write_data(OSyncMarshal *marshal, const void *value, int size) { /* TODO move this to PRIVATE API */ - g_byte_array_append( message->buffer, value, size ); + g_byte_array_append( marshal->buffer, value, size ); } -void osync_message_write_buffer(OSyncMessage *message, const void *value, int size) +void osync_marshal_write_buffer(OSyncMarshal *marshal, const void *value, int size) { /* serialize the length of the data to make it possible to determine the end of this data blob in the serialized blob. This makes demarshaling possible! */ - osync_message_write_int(message, size); + osync_marshal_write_int(marshal, size); if (size > 0) - osync_message_write_data(message, value, size); + osync_marshal_write_data(marshal, value, size); } -void osync_message_read_int(OSyncMessage *message, int *value) +void osync_marshal_read_int(OSyncMarshal *marshal, int *value) { - osync_assert(message->buffer->len >= message->buffer_read_pos + sizeof(int)); + osync_assert(marshal->buffer->len >= marshal->buffer_read_pos + sizeof(int)); - memcpy(value, &(message->buffer->data[ message->buffer_read_pos ]), sizeof(int)); - message->buffer_read_pos += sizeof(int); + memcpy(value, &(marshal->buffer->data[ marshal->buffer_read_pos ]), sizeof(int)); + marshal->buffer_read_pos += sizeof(int); } -void osync_message_read_uint(OSyncMessage *message, unsigned int *value) +void osync_marshal_read_uint(OSyncMarshal *marshal, unsigned int *value) { - osync_assert(message->buffer->len >= message->buffer_read_pos + sizeof(unsigned int)); + osync_assert(marshal->buffer->len >= marshal->buffer_read_pos + sizeof(unsigned int)); - memcpy(value, &(message->buffer->data[ message->buffer_read_pos ]), sizeof(unsigned int)); - message->buffer_read_pos += sizeof(unsigned int); + memcpy(value, &(marshal->buffer->data[ marshal->buffer_read_pos ]), sizeof(unsigned int)); + marshal->buffer_read_pos += sizeof(unsigned int); } -void osync_message_read_long_long_int(OSyncMessage *message, long long int *value) +void osync_marshal_read_long_long_int(OSyncMarshal *marshal, long long int *value) { - osync_assert(message->buffer->len >= message->buffer_read_pos + sizeof(long long int)); + osync_assert(marshal->buffer->len >= marshal->buffer_read_pos + sizeof(long long int)); - memcpy(value, &(message->buffer->data[ message->buffer_read_pos ]), sizeof(long long int)); - message->buffer_read_pos += sizeof(long long int); + memcpy(value, &(marshal->buffer->data[ marshal->buffer_read_pos ]), sizeof(long long int)); + marshal->buffer_read_pos += sizeof(long long int); } /* TODO Change char** to const char ** */ -void osync_message_read_const_string(OSyncMessage *message, char **value) +void osync_marshal_read_const_string(OSyncMarshal *marshal, char **value) { int length = 0; - osync_message_read_int(message, &length); + osync_marshal_read_int(marshal, &length); if (length == -1) { *value = NULL; return; } - osync_assert(message->buffer->len >= message->buffer_read_pos + length); - *value = (char *)&(message->buffer->data[message->buffer_read_pos]); - message->buffer_read_pos += length; + osync_assert(marshal->buffer->len >= marshal->buffer_read_pos + length); + *value = (char *)&(marshal->buffer->data[marshal->buffer_read_pos]); + marshal->buffer_read_pos += length; } -void osync_message_read_string(OSyncMessage *message, char **value) +void osync_marshal_read_string(OSyncMarshal *marshal, char **value) { int length = 0; - osync_message_read_int(message, &length); + osync_marshal_read_int(marshal, &length); if (length == -1) { *value = NULL; return; } - osync_assert(message->buffer->len >= message->buffer_read_pos + length); + osync_assert(marshal->buffer->len >= marshal->buffer_read_pos + length); /* TODO: Error handling? */ *value = (char*) osync_try_malloc0(length, NULL); if (!*value) return; - memcpy(*value, &(message->buffer->data[ message->buffer_read_pos ]), length ); - message->buffer_read_pos += length; + memcpy(*value, &(marshal->buffer->data[ marshal->buffer_read_pos ]), length ); + marshal->buffer_read_pos += length; } -void osync_message_read_const_data(OSyncMessage *message, void **value, int size) +void osync_marshal_read_const_data(OSyncMarshal *marshal, void **value, int size) { - osync_assert(message->buffer->len >= message->buffer_read_pos + size); + osync_assert(marshal->buffer->len >= marshal->buffer_read_pos + size); - *value = &(message->buffer->data[message->buffer_read_pos]); - message->buffer_read_pos += size; + *value = &(marshal->buffer->data[marshal->buffer_read_pos]); + marshal->buffer_read_pos += size; } -void osync_message_read_data(OSyncMessage *message, void *value, int size) +void osync_marshal_read_data(OSyncMarshal *marshal, void *value, int size) { - osync_assert(message->buffer->len >= message->buffer_read_pos + size); + osync_assert(marshal->buffer->len >= marshal->buffer_read_pos + size); - memcpy(value, &(message->buffer->data[ message->buffer_read_pos ]), size ); - message->buffer_read_pos += size; + memcpy(value, &(marshal->buffer->data[ marshal->buffer_read_pos ]), size ); + marshal->buffer_read_pos += size; } -void osync_message_read_buffer(OSyncMessage *message, void **value, int *size) +void osync_marshal_read_buffer(OSyncMarshal *marshal, void **value, int *size) { - /* Now, read the data from the message */ - osync_message_read_int(message, size); + /* Now, read the data from the marshal */ + osync_marshal_read_int(marshal, size); if (*size > 0) { *value = g_malloc0(*size); - osync_message_read_data(message, *value, *size); + osync_marshal_read_data(marshal, *value, *size); } } - -char* osync_message_get_commandstr(OSyncMessage *message) -{ - char* cmdstr = "UNKNOWN"; - - switch(message->cmd) - { - case OSYNC_MESSAGE_NOOP: - cmdstr = "OSYNC_MESSAGE_NOOP"; break; - case OSYNC_MESSAGE_CONNECT: - cmdstr = "OSYNC_MESSAGE_CONNECT"; break; - case OSYNC_MESSAGE_CONNECT_DONE: - cmdstr = "OSYNC_MESSAGE_CONNECT_DONE"; break; - case OSYNC_MESSAGE_DISCONNECT: - cmdstr = "OSYNC_MESSAGE_DISCONNECT"; break; - case OSYNC_MESSAGE_GET_CHANGES: - cmdstr = "OSYNC_MESSAGE_GET_CHANGES"; break; - case OSYNC_MESSAGE_READ_CHANGE: - cmdstr = "OSYNC_MESSAGE_READ_CHANGE"; break; - case OSYNC_MESSAGE_COMMIT_CHANGE: - cmdstr = "OSYNC_MESSAGE_COMMIT_CHANGE"; break; - case OSYNC_MESSAGE_COMMITTED_ALL: - cmdstr = "OSYNC_MESSAGE_COMMITTED_ALL"; break; - case OSYNC_MESSAGE_SYNC_DONE: - cmdstr = "OSYNC_MESSAGE_SYNC_DONE"; break; - case OSYNC_MESSAGE_CALL_PLUGIN: - cmdstr = "OSYNC_MESSAGE_CALL_PLUGIN"; break; - case OSYNC_MESSAGE_NEW_CHANGE: - cmdstr = "OSYNC_MESSAGE_NEW_CHANGE"; break; - case OSYNC_MESSAGE_REPLY: - cmdstr = "OSYNC_MESSAGE_REPLY"; break; - case OSYNC_MESSAGE_ERRORREPLY: - cmdstr = "OSYNC_MESSAGE_ERRORREPLY"; break; - case OSYNC_MESSAGE_INITIALIZE: - cmdstr = "OSYNC_MESSAGE_INITIALIZE"; break; - case OSYNC_MESSAGE_FINALIZE: - cmdstr = "OSYNC_MESSAGE_FINALIZE"; break; - case OSYNC_MESSAGE_DISCOVER: - cmdstr = "OSYNC_MESSAGE_DISCOVER"; break; - case OSYNC_MESSAGE_SYNCHRONIZE: - cmdstr = "OSYNC_MESSAGE_SYNCHRONIZE"; break; - case OSYNC_MESSAGE_ENGINE_CHANGED: - cmdstr = "OSYNC_MESSAGE_ENGINE_CHANGED"; break; - case OSYNC_MESSAGE_MAPPING_CHANGED: - cmdstr = "OSYNC_MESSAGE_MAPPING_CHANGED"; break; - case OSYNC_MESSAGE_MAPPINGENTRY_CHANGED: - cmdstr = "OSYNC_MESSAGE_MAPPINGENTRY_CHANGED"; break; - case OSYNC_MESSAGE_ERROR: - cmdstr = "OSYNC_MESSAGE_ERROR"; break; - case OSYNC_MESSAGE_QUEUE_ERROR: - cmdstr = "OSYNC_MESSAGE_QUEUE_ERROR"; break; - case OSYNC_MESSAGE_QUEUE_HUP: - cmdstr = "OSYNC_MESSAGE_QUEUE_HUP"; break; - } - - return cmdstr; -} - - Added: trunk/opensync/common/opensync_marshal.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/opensync/common/opensync_marshal.h Sun Jan 4 22:28:13 2009 (r5001) @@ -0,0 +1,214 @@ +/* + * libopensync - A synchronization framework + * Copyright (C) 2004-2005 Armin Bauer <arm...@op...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#ifndef _OPENSYNC_MARSHAL_H +#define _OPENSYNC_MARSHAL_H + +/** + * @defgroup OSyncCommon OpenSync Common Module + * @ingroup OSyncPublic + * @defgroup OSyncMarshal OpenSync Marshal + * @ingroup OSyncMarshal + * @brief Functions for serializing/marshaling data + * + */ + +/*@{*/ + +/** @brief Creates a new marshal object + * + * @param error Pointer to a error-struct + * @returns Pointer to a newly allocated marshal object + * + */ +OSYNC_EXPORT OSyncMarshal *osync_marshal_new(OSyncError **error); + + +/** @brief Creates a new marshal object with a reserved size + * + * @param size Size of the marshal object + * @param error Pointer to a error-struct + * @returns Pointer to a newly allocated marshal object + * + */ +OSYNC_EXPORT OSyncMarshal *osync_marshal_sized_new(unsigned int size, OSyncError **error); + +/** @brief Increase the reference count of the marshal object + * + * @param marshal The marshal object + * @returns The referenced marshal pointer + * + */ +OSYNC_EXPORT OSyncMarshal *osync_marshal_ref(OSyncMarshal *marshal); + +/** @brief Decrease the reference count of the marshal object + * + * @param marshal The marshal + * + */ +OSYNC_EXPORT void osync_marshal_unref(OSyncMarshal *marshal); + +/** @brief Get marshal size of supplied marshal object + * + * @param marshal The marshal object + * @returns The marshal size of supplied marshal + * + */ +OSYNC_EXPORT unsigned int osync_marshal_get_marshal_size(OSyncMarshal *marshal); + +/** @brief Set marshal size for supplied marshal object + * + * @param marshal The marshal object + * @param size The size of the marshal to set + * + */ +OSYNC_EXPORT void osync_marshal_set_marshal_size(OSyncMarshal *marshal, unsigned int size); + +/** @brief Get the buffer/content of the marshal object + * + * @param marshal The marshal object + * @param data Pointer to data + * @param size Size of the data + * + */ +OSYNC_EXPORT void osync_marshal_get_buffer(OSyncMarshal *marshal, char **data, unsigned int *size); + +/** @brief Appends an integer value to serialized buffer + * + * @param marshal The marshal object + * @param value The integer value to append + */ +OSYNC_EXPORT void osync_marshal_write_int(OSyncMarshal *marshal, int value); + +/** @brief Appends an unsigned integer value to serialized buffer + * + * @param marshal The marshal object + * @param value The integer value to append + */ +OSYNC_EXPORT void osync_marshal_write_uint(OSyncMarshal *marshal, unsigned int value); + +/** @brief Appends a long long integer value to serialized buffer + * + * @param marshal The marshal object + * @param value The long long integer value to append + */ +OSYNC_EXPORT void osync_marshal_write_long_long_int(OSyncMarshal *marshal, long long int value); + +/** @brief Appends a string to serialized buffer + * + * @param marshal The marshal object + * @param value The string to append + */ +OSYNC_EXPORT void osync_marshal_write_string(OSyncMarshal *marshal, const char *value); + +/** @brief Appends data with a specific length to the serialized buffer + * + * This data should be completely serialized. This is only for internal use, + * since this function doesn't append the size/end of the appended data. + * + * @param marshal The marshal object + * @param value The data to append + * @param size Size of corresponding data parameter + */ +OSYNC_EXPORT void osync_marshal_write_data(OSyncMarshal *marshal, const void *value, int size); + +/** @brief Appends data with a specific length to the serialized buffer, + * plus the length of the data to determine the end. + * + * @param marshal The marshal object + * @param value The data to append + * @param size Size of corresponding data parameter + */ +OSYNC_EXPORT void osync_marshal_write_buffer(OSyncMarshal *marshal, const void *value, int size); + +/** @brief Read serialized integer from marshal buffer. This increments the read + * position of the marshal buffer. + * + * @param marshal The marshal object + * @param value Reference to store the integer value + */ +OSYNC_EXPORT void osync_marshal_read_int(OSyncMarshal *marshal, int *value); + +/** @brief Read serialized unsigned integer from marshal buffer. This increments the read + * position of the marshal buffer. + * + * @param marshal The marshal object + * @param value Reference to store the integer value + */ +OSYNC_EXPORT void osync_marshal_read_uint(OSyncMarshal *marshal, unsigned int *value); + +/** @brief Read serialized long long integer from marshal buffer. This increments the read + * position of the marshal buffer. + * + * @param marshal The marshal object + * @param value Reference to store the long long integer value + */ +OSYNC_EXPORT void osync_marshal_read_long_long_int(OSyncMarshal *marshal, long long int *value); + +/** @brief Read serialized string from marshal buffer. This increments the read + * position of the marshal buffer. Caller is responsible for freeing the duplicated + * string. + * + * @param marshal The marshal object + * @param value Reference to store the pointer to the newly allocated string + */ +OSYNC_EXPORT void osync_marshal_read_string(OSyncMarshal *marshal, char **value); + +/** @brief Read specific size of serialized data from marshal buffer. This increments + * the read position of the marshal buffer. Caller is responsible for freeing the + * duplicate data. + * + * @param marshal The marshal object + * @param value Reference to store the pointer to the newly allocated data + * @param size Size of data + */ +OSYNC_EXPORT void osync_marshal_read_data(OSyncMarshal *marshal, void *value, int size); + +/** @brief Read serialized const data from marshal buffer. This increments the read + * position of the marshal buffer. + * + * @param marshal The marshal object + * @param value Reference to store the data pointer + * @param size The size of data + */ +OSYNC_EXPORT void osync_marshal_read_const_data(OSyncMarshal *marshal, void **value, int size); + +/** @brief Read serialized const string from marshal buffer. This increments the read + * position of the marshal buffer. + * + * @param marshal The marshal object + * @param value Reference to store the string pointer + */ +OSYNC_EXPORT void osync_marshal_read_const_string(OSyncMarshal *marshal, char **value); + +/** @brief Read serialized data from marshal buffer. This increments the read + * position of the marshal buffer. Caller is responsible for freeing the duplicated + * data. + * + * @param marshal The marshal object + * @param value Reference to store the pointer to the newly allocated data + * @param size Size of data + */ +OSYNC_EXPORT void osync_marshal_read_buffer(OSyncMarshal *marshal, void **value, int *size); + +/*@}*/ + +#endif /* _OPENSYNC_MARSHAL_H */ + Copied and modified: trunk/opensync/common/opensync_marshal_private.h (from r4994, trunk/opensync/ipc/opensync_message_internals.h) ============================================================================== --- trunk/opensync/ipc/opensync_message_internals.h Sun Jan 4 17:45:28 2009 (r4994, copy source) +++ trunk/opensync/common/opensync_marshal_private.h Sun Jan 4 22:28:13 2009 (r5001) @@ -18,36 +18,25 @@ * */ -#ifndef _OPENSYNC_MESSAGES_INTERNALS_H -#define _OPENSYNC_MESSAGES_INTERNALS_H +#ifndef _OPENSYNC_MARSHAL_PRIVATE_H +#define _OPENSYNC_MARSHAL_PRIVATE_H /** - * @defgroup OSyncIPCPrivate OpenSync IPC Module Private + * @defgroup OSyncCommonPrivate OpenSync Common Module Private * @ingroup OSyncPrivate - * @defgroup OSyncMessageInternalAPI OpenSync Message Internals - * @ingroup OSyncIPCPrivate - * @brief A Message used by the inter thread messaging library + * @defgroup OSyncMarshalPrivateAPI OpenSync Marshal Private + * @ingroup OSyncMarshalPrivate + * @brief Serialized buffer * */ /*@{*/ -/*! @brief A OSyncMessage +/*! @brief A OSyncMarshal object * */ -struct OSyncMessage { - gint refCount; - /** The type of this message */ - OSyncMessageCommand cmd; - /** The name of the message*/ - long long int id; - /** Where should the reply be received? */ - OSyncMessageHandler callback; - /** The user data */ - gpointer user_data; - /** The timeout associated with this message */ - //timeout_info *to_info; - /** If this message has already been answered */ - osync_bool is_answered; +struct OSyncMarshal { + /** Reference counting */ + int ref_count; /** The pointer to the internal **/ GByteArray *buffer; /** The current read position **/ @@ -56,4 +45,5 @@ /*@}*/ -#endif /*_OPENSYNC_MESSAGES_INTERNALS_H*/ +#endif /* _OPENSYNC_MARSHAL_PRIVATE_H */ + Modified: trunk/opensync/opensync-common.h ============================================================================== --- trunk/opensync/opensync-common.h Sun Jan 4 22:25:28 2009 (r5000) +++ trunk/opensync/opensync-common.h Sun Jan 4 22:28:13 2009 (r5001) @@ -28,6 +28,7 @@ #include "opensync/common/opensync_file.h" #include "opensync/common/opensync_list.h" #include "opensync/common/opensync_memory.h" +#include "opensync/common/opensync_marshal.h" #include "opensync/common/opensync_string.h" OPENSYNC_END_DECLS Modified: trunk/opensync/opensync-serializer.h ============================================================================== --- trunk/opensync/opensync-serializer.h Sun Jan 4 22:25:28 2009 (r5000) +++ trunk/opensync/opensync-serializer.h Sun Jan 4 22:28:13 2009 (r5001) @@ -23,6 +23,7 @@ OPENSYNC_BEGIN_DECLS +#include "common/opensync_marshal.h" #include "ipc/opensync_message.h" #include "ipc/opensync_serializer.h" Modified: trunk/opensync/opensync.h ============================================================================== --- trunk/opensync/opensync.h Sun Jan 4 22:25:28 2009 (r5000) +++ trunk/opensync/opensync.h Sun Jan 4 22:28:13 2009 (r5001) @@ -231,6 +231,7 @@ /* Common component */ typedef struct OSyncError OSyncError; +typedef struct OSyncMarshal OSyncMarshal; /* Version component */ typedef struct OSyncVersion OSyncVersion; |
From: <dg...@su...> - 2009-01-04 21:25:51
|
Author: dgollub Date: Sun Jan 4 22:25:28 2009 New Revision: 5000 URL: http://www.opensync.org/changeset/5000 Log: Suppress warnings of disabled testcases. Modified: trunk/tests/engine-tests/check_engine.c trunk/tests/engine-tests/check_engine_error.c trunk/tests/sync-tests/check_sync_error.c Modified: trunk/tests/engine-tests/check_engine.c ============================================================================== --- trunk/tests/engine-tests/check_engine.c Sun Jan 4 22:23:44 2009 (r4999) +++ trunk/tests/engine-tests/check_engine.c Sun Jan 4 22:25:28 2009 (r5000) @@ -1763,7 +1763,7 @@ return debug; } -START_TEST (engine_sync_read_write_stress) +OSYNC_UNUSED START_TEST (engine_sync_read_write_stress) { char *testbed = setup_testbed("sync_setup"); char *formatdir = g_strdup_printf("%s/formats", testbed); Modified: trunk/tests/engine-tests/check_engine_error.c ============================================================================== --- trunk/tests/engine-tests/check_engine_error.c Sun Jan 4 22:23:44 2009 (r4999) +++ trunk/tests/engine-tests/check_engine_error.c Sun Jan 4 22:25:28 2009 (r5000) @@ -688,7 +688,7 @@ } END_TEST -START_TEST (dual_connect_error) +OSYNC_UNUSED START_TEST (dual_connect_error) { char *testbed = setup_testbed("sync_setup"); char *formatdir = g_strdup_printf("%s/formats", testbed); Modified: trunk/tests/sync-tests/check_sync_error.c ============================================================================== --- trunk/tests/sync-tests/check_sync_error.c Sun Jan 4 22:23:44 2009 (r4999) +++ trunk/tests/sync-tests/check_sync_error.c Sun Jan 4 22:25:28 2009 (r5000) @@ -43,7 +43,7 @@ } END_TEST -START_TEST (single_init_error) +OSYNC_UNUSED START_TEST (single_init_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -79,7 +79,7 @@ } END_TEST -START_TEST (dual_connect_error) +OSYNC_UNUSED START_TEST (dual_connect_error) { char *testbed = setup_testbed("sync_easy_new"); @@ -119,7 +119,7 @@ } END_TEST -START_TEST (one_of_two_connect_error) +OSYNC_UNUSED START_TEST (one_of_two_connect_error) { char *testbed = setup_testbed("sync_easy_new"); @@ -160,7 +160,7 @@ } END_TEST -START_TEST (two_of_three_connect_error) +OSYNC_UNUSED START_TEST (two_of_three_connect_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -201,7 +201,7 @@ } END_TEST -START_TEST (two_of_three_connect_error2) +OSYNC_UNUSED START_TEST (two_of_three_connect_error2) { char *testbed = setup_testbed("multisync_easy_new"); @@ -242,7 +242,7 @@ } END_TEST -START_TEST (three_of_three_connect_error) +OSYNC_UNUSED START_TEST (three_of_three_connect_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -283,7 +283,7 @@ } END_TEST -START_TEST (one_of_three_connect_error) +OSYNC_UNUSED START_TEST (one_of_three_connect_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -324,7 +324,7 @@ } END_TEST -START_TEST (no_connect_error) +OSYNC_UNUSED START_TEST (no_connect_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -366,7 +366,7 @@ } END_TEST -START_TEST (single_connect_timeout) +OSYNC_UNUSED START_TEST (single_connect_timeout) { char *testbed = setup_testbed("sync_easy_new"); @@ -408,7 +408,7 @@ } END_TEST -START_TEST (dual_connect_timeout) +OSYNC_UNUSED START_TEST (dual_connect_timeout) { char *testbed = setup_testbed("sync_easy_new"); @@ -450,7 +450,7 @@ } END_TEST -START_TEST (one_of_three_timeout) +OSYNC_UNUSED START_TEST (one_of_three_timeout) { char *testbed = setup_testbed("multisync_easy_new"); @@ -492,7 +492,7 @@ } END_TEST -START_TEST (timeout_and_error) +OSYNC_UNUSED START_TEST (timeout_and_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -535,7 +535,7 @@ } END_TEST -START_TEST (single_get_changes_error) +OSYNC_UNUSED START_TEST (single_get_changes_error) { char *testbed = setup_testbed("sync_easy_conflict"); @@ -580,7 +580,7 @@ } END_TEST -START_TEST (dual_get_changes_error) +OSYNC_UNUSED START_TEST (dual_get_changes_error) { char *testbed = setup_testbed("sync_easy_conflict"); @@ -625,7 +625,7 @@ } END_TEST -START_TEST (two_of_three_get_changes_error) +OSYNC_UNUSED START_TEST (two_of_three_get_changes_error) { char *testbed = setup_testbed("multisync_conflict_data_choose2"); @@ -669,7 +669,7 @@ } END_TEST -START_TEST (one_of_three_get_changes_error) +OSYNC_UNUSED START_TEST (one_of_three_get_changes_error) { char *testbed = setup_testbed("multisync_conflict_data_choose2"); @@ -714,7 +714,7 @@ } END_TEST -START_TEST (one_of_three_get_changes_timeout) +OSYNC_UNUSED START_TEST (one_of_three_get_changes_timeout) { char *testbed = setup_testbed("multisync_conflict_data_choose2"); @@ -761,7 +761,7 @@ } END_TEST -START_TEST (get_changes_timeout_and_error) +OSYNC_UNUSED START_TEST (get_changes_timeout_and_error) { char *testbed = setup_testbed("multisync_conflict_data_choose2"); @@ -807,7 +807,7 @@ } END_TEST -START_TEST (get_changes_timeout_sleep) +OSYNC_UNUSED START_TEST (get_changes_timeout_sleep) { char *testbed = setup_testbed("multisync_conflict_data_choose2"); @@ -856,7 +856,7 @@ } END_TEST -START_TEST (single_commit_error) +OSYNC_UNUSED START_TEST (single_commit_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -908,7 +908,7 @@ } END_TEST -START_TEST (dual_commit_error) +OSYNC_UNUSED START_TEST (dual_commit_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -960,7 +960,7 @@ } END_TEST -START_TEST (single_commit_timeout) +OSYNC_UNUSED START_TEST (single_commit_timeout) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1012,7 +1012,7 @@ } END_TEST -START_TEST (dual_commit_timeout) +OSYNC_UNUSED START_TEST (dual_commit_timeout) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1064,7 +1064,7 @@ } END_TEST -START_TEST (commit_timeout_and_error) +OSYNC_UNUSED START_TEST (commit_timeout_and_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1117,7 +1117,7 @@ } END_TEST -START_TEST (commit_timeout_and_error2) +OSYNC_UNUSED START_TEST (commit_timeout_and_error2) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1170,7 +1170,7 @@ } END_TEST -START_TEST (commit_error_modify) +OSYNC_UNUSED START_TEST (commit_error_modify) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1231,7 +1231,7 @@ } END_TEST -START_TEST (commit_error_delete) +OSYNC_UNUSED START_TEST (commit_error_delete) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1292,7 +1292,7 @@ } END_TEST -START_TEST (committed_all_error) +OSYNC_UNUSED START_TEST (committed_all_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1344,7 +1344,7 @@ } END_TEST -START_TEST (committed_all_batch_error) +OSYNC_UNUSED START_TEST (committed_all_batch_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1397,7 +1397,7 @@ } END_TEST -START_TEST (single_sync_done_error) +OSYNC_UNUSED START_TEST (single_sync_done_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1450,7 +1450,7 @@ } END_TEST -START_TEST (dual_sync_done_error) +OSYNC_UNUSED START_TEST (dual_sync_done_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1503,7 +1503,7 @@ } END_TEST -START_TEST (triple_sync_done_error) +OSYNC_UNUSED START_TEST (triple_sync_done_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1556,7 +1556,7 @@ } END_TEST -START_TEST (single_sync_done_timeout) +OSYNC_UNUSED START_TEST (single_sync_done_timeout) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1609,7 +1609,7 @@ } END_TEST -START_TEST (dual_sync_done_timeout) +OSYNC_UNUSED START_TEST (dual_sync_done_timeout) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1662,7 +1662,7 @@ } END_TEST -START_TEST (sync_done_timeout_and_error) +OSYNC_UNUSED START_TEST (sync_done_timeout_and_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1716,7 +1716,7 @@ } END_TEST -START_TEST (single_disconnect_error) +OSYNC_UNUSED START_TEST (single_disconnect_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1769,7 +1769,7 @@ } END_TEST -START_TEST (dual_disconnect_error) +OSYNC_UNUSED START_TEST (dual_disconnect_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1822,7 +1822,7 @@ } END_TEST -START_TEST (triple_disconnect_error) +OSYNC_UNUSED START_TEST (triple_disconnect_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1875,7 +1875,7 @@ } END_TEST -START_TEST (single_disconnect_timeout) +OSYNC_UNUSED START_TEST (single_disconnect_timeout) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1928,7 +1928,7 @@ } END_TEST -START_TEST (dual_disconnect_timeout) +OSYNC_UNUSED START_TEST (dual_disconnect_timeout) { char *testbed = setup_testbed("multisync_easy_new"); @@ -1981,7 +1981,7 @@ } END_TEST -START_TEST (disconnect_timeout_and_error) +OSYNC_UNUSED START_TEST (disconnect_timeout_and_error) { char *testbed = setup_testbed("multisync_easy_new"); @@ -2035,7 +2035,7 @@ } END_TEST -START_TEST (get_changes_disconnect_error) +OSYNC_UNUSED START_TEST (get_changes_disconnect_error) { char *testbed = setup_testbed("multisync_easy_new"); |
From: <dg...@su...> - 2009-01-04 21:24:06
|
Author: dgollub Date: Sun Jan 4 22:23:44 2009 New Revision: 4999 URL: http://www.opensync.org/changeset/4999 Log: Introduce OSYNC_UNUSED to suppress warnings about unused functions. This is only internally and should only be used for temporarily disabled code. Modified: trunk/opensync/opensync_internals.h Modified: trunk/opensync/opensync_internals.h ============================================================================== --- trunk/opensync/opensync_internals.h Sun Jan 4 22:22:20 2009 (r4998) +++ trunk/opensync/opensync_internals.h Sun Jan 4 22:23:44 2009 (r4999) @@ -35,7 +35,6 @@ extern int errno; #endif - #define osync_return_if_fail(condition) do { \ if (!(condition)) { \ return; \ @@ -46,6 +45,13 @@ return (val); \ } } while (0) + +#ifdef __GNUC__ +#define OSYNC_UNUSED __attribute__ ((unused)) +#else +#define OSYNC_UNUSED +#endif + #include "opensync/common/opensync_common_internals.h" #endif /* OPENSYNC_INTERNALS_H_ */ |
From: <dg...@su...> - 2009-01-04 21:22:42
|
Author: dgollub Date: Sun Jan 4 22:22:20 2009 New Revision: 4998 URL: http://www.opensync.org/changeset/4998 Log: Add -Werror for GCC Modified: branches/3rd-party-cmake-modules/modules/Compiler.cmake Modified: branches/3rd-party-cmake-modules/modules/Compiler.cmake ============================================================================== --- branches/3rd-party-cmake-modules/modules/Compiler.cmake Sun Jan 4 18:44:35 2009 (r4997) +++ branches/3rd-party-cmake-modules/modules/Compiler.cmake Sun Jan 4 22:22:20 2009 (r4998) @@ -2,8 +2,8 @@ IF ( CMAKE_COMPILER_IS_GNUCC ) SET( SYMBOLS_VISIBILITY "-fvisibility=hidden" ) - SET( CMAKE_C_FLAGS_HACKING "-O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -g" CACHE STRING "Developer C Compiler Flags" ) - SET( CMAKE_CXX_FLAGS_HACKING "-O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -g" CACHE STRING "Developer C++ Compiler Flags" ) + SET( CMAKE_C_FLAGS_HACKING "-O2 -fmessage-length=0 -Wall -Werror -D_FORTIFY_SOURCE=2 -fstack-protector -g" CACHE STRING "Developer C Compiler Flags" ) + SET( CMAKE_CXX_FLAGS_HACKING "-O2 -fmessage-length=0 -Wall -Werror -D_FORTIFY_SOURCE=2 -fstack-protector -g" CACHE STRING "Developer C++ Compiler Flags" ) ENDIF ( CMAKE_COMPILER_IS_GNUCC ) IF (CMAKE_SYSTEM MATCHES "SunOS-5*.") |
From: <dg...@su...> - 2009-01-04 17:44:55
|
Author: dgollub Date: Sun Jan 4 18:44:35 2009 New Revision: 4997 URL: http://www.opensync.org/changeset/4997 Log: Only invoke demerge if member has capabilities defiened. Modified: trunk/opensync/engine/opensync_obj_engine.c Modified: trunk/opensync/engine/opensync_obj_engine.c ============================================================================== --- trunk/opensync/engine/opensync_obj_engine.c Sun Jan 4 18:36:21 2009 (r4996) +++ trunk/opensync/engine/opensync_obj_engine.c Sun Jan 4 18:44:35 2009 (r4997) @@ -1110,6 +1110,7 @@ /* Merger - Save the entire data and demerge */ if (osync_group_get_merger_enabled(osync_engine_get_group(engine->parent)) && + osync_member_get_capabilities(member) && osync_group_get_converter_enabled(osync_engine_get_group(engine->parent)) && entry_engine->change && (osync_change_get_changetype(entry_engine->change) != OSYNC_CHANGE_TYPE_DELETED) && @@ -1122,7 +1123,6 @@ const char *objtype = NULL; OSyncMapping *mapping = NULL; OSyncCapabilities *caps; - OSyncMember *member = osync_client_proxy_get_member(sinkengine->proxy); OSyncObjFormat *objformat = osync_change_get_objformat(entry_engine->change); osync_trace(TRACE_INTERNAL, "Entry %s for member %lli: Dirty: %i", osync_change_get_uid(entry_engine->change), memberid, osync_entry_engine_is_dirty(entry_engine)); |
From: <dg...@su...> - 2009-01-04 17:36:42
|
Author: mkoller Date: Sun Jan 4 18:36:21 2009 New Revision: 4996 URL: http://www.opensync.org/changeset/4996 Log: add missing userdata pointer to osync_converter_new_detector function argument Modified: format-plugins/vformat/src/vnote.c format-plugins/vformat/src/vtodo.c Modified: format-plugins/vformat/src/vnote.c ============================================================================== --- format-plugins/vformat/src/vnote.c Sun Jan 4 18:35:56 2009 (r4995) +++ format-plugins/vformat/src/vnote.c Sun Jan 4 18:36:21 2009 (r4996) @@ -44,7 +44,7 @@ return OSYNC_CONV_DATA_MISMATCH; } -static osync_bool detect_plain_as_vnote(const char *data, int size) +static osync_bool detect_plain_as_vnote(const char *data, int size, void *userdata) { osync_trace(TRACE_INTERNAL, "start:%s", __func__); Modified: format-plugins/vformat/src/vtodo.c ============================================================================== --- format-plugins/vformat/src/vtodo.c Sun Jan 4 18:35:56 2009 (r4995) +++ format-plugins/vformat/src/vtodo.c Sun Jan 4 18:36:21 2009 (r4996) @@ -46,7 +46,7 @@ return OSYNC_CONV_DATA_MISMATCH; } -static osync_bool detect_plain_as_vtodo10(const char *data, int size) +static osync_bool detect_plain_as_vtodo10(const char *data, int size, void *userdata) { osync_trace(TRACE_INTERNAL, "start: %s", __func__); @@ -56,7 +56,7 @@ return g_pattern_match_simple("*BEGIN:VCALENDAR*VERSION:1.0*BEGIN:VTODO*", data); } -static osync_bool detect_plain_as_vtodo20(const char *data, int size) +static osync_bool detect_plain_as_vtodo20(const char *data, int size, void *userdata) { osync_trace(TRACE_INTERNAL, "start: %s", __func__); |
From: <dg...@su...> - 2009-01-04 17:36:19
|
Author: mkoller Date: Sun Jan 4 18:35:56 2009 New Revision: 4995 URL: http://www.opensync.org/changeset/4995 Log: add missing userdata pointer to osync_converter_new_detector function argument Modified: format-plugins/vformat/src/vjournal.c Modified: format-plugins/vformat/src/vjournal.c ============================================================================== --- format-plugins/vformat/src/vjournal.c Sun Jan 4 17:45:28 2009 (r4994) +++ format-plugins/vformat/src/vjournal.c Sun Jan 4 18:35:56 2009 (r4995) @@ -45,7 +45,7 @@ return OSYNC_CONV_DATA_MISMATCH; } -static osync_bool detect_plain_as_vjournal(const char *data, int size) +static osync_bool detect_plain_as_vjournal(const char *data, int size, void *userdata) { osync_trace(TRACE_INTERNAL, "start:%s", __func__); |
From: <dg...@su...> - 2009-01-04 16:45:46
|
Author: dgollub Date: Sun Jan 4 17:45:28 2009 New Revision: 4994 URL: http://www.opensync.org/changeset/4994 Log: Renamed temp_format varilable to common_format varilable. Since this will be later the code which convert all changes to a common format to allow mapping of the changes. Modified: trunk/opensync/engine/opensync_engine.c Modified: trunk/opensync/engine/opensync_engine.c ============================================================================== --- trunk/opensync/engine/opensync_engine.c Sun Jan 4 17:37:18 2009 (r4993) +++ trunk/opensync/engine/opensync_engine.c Sun Jan 4 17:45:28 2009 (r4994) @@ -229,12 +229,12 @@ if ((internalFormat || detected_format) && osync_group_get_converter_enabled(engine->group) && (osync_change_get_changetype(change) != OSYNC_CHANGE_TYPE_DELETED)) { OSyncFormatConverterPath *path = NULL; OSyncObjFormatSink *formatsink = NULL; - OSyncObjFormat *temp_format = internalFormat ? internalFormat : detected_format; - osync_trace(TRACE_INTERNAL, "converting to format %s", osync_objformat_get_name(temp_format)); + OSyncObjFormat *common_format = internalFormat ? internalFormat : detected_format; + osync_trace(TRACE_INTERNAL, "converting to format %s", osync_objformat_get_name(common_format)); path = _osync_engine_get_converter_path(engine, member_objtype); if(!path) { - path = osync_format_env_find_path_with_detectors(engine->formatenv, osync_change_get_data(change), temp_format, NULL, &error); + path = osync_format_env_find_path_with_detectors(engine->formatenv, osync_change_get_data(change), common_format, NULL, &error); _osync_engine_set_converter_path(engine, member_objtype, path); } |
From: <dg...@su...> - 2009-01-04 16:37:46
|
Author: dgollub Date: Sun Jan 4 17:37:18 2009 New Revision: 4993 URL: http://www.opensync.org/changeset/4993 Log: Run multiple sync's without re-initalizing the engine when running with --multi. Modified: osynctool/trunk/tools/osynctool.c Modified: osynctool/trunk/tools/osynctool.c ============================================================================== --- osynctool/trunk/tools/osynctool.c Sun Jan 4 17:28:48 2009 (r4992) +++ osynctool/trunk/tools/osynctool.c Sun Jan 4 17:37:18 2009 (r4993) @@ -618,8 +618,10 @@ osync_obj_engine_set_slowsync(objengine, TRUE); } - if (!osync_engine_synchronize_and_block(engine, error)) - goto error_finalize; + do { + if (!osync_engine_synchronize_and_block(engine, error)) + goto error_finalize; + } while (multi); /*if (!wait) { if (!manual) { |