From: <svn...@op...> - 2009-06-17 13:14:25
|
Author: bricks Date: Wed Jun 17 15:14:12 2009 New Revision: 5674 URL: http://www.opensync.org/changeset/5674 Log: added OSyncError parameter to osync_member_add_objformat and osync_member_add_objformat_with_config refs #1087 Modified: trunk/opensync/engine/opensync_obj_engine.c trunk/opensync/group/opensync_member.c trunk/opensync/group/opensync_member.h trunk/tests/engine-tests/check_engine.c Modified: trunk/opensync/engine/opensync_obj_engine.c ============================================================================== --- trunk/opensync/engine/opensync_obj_engine.c Wed Jun 17 12:43:46 2009 (r5673) +++ trunk/opensync/engine/opensync_obj_engine.c Wed Jun 17 15:14:12 2009 (r5674) @@ -205,7 +205,7 @@ { OSyncList *m = NULL; OSyncList *e = NULL; - osync_bool found_similar = FALSE; + /*osync_bool found_similar = FALSE;*/ OSyncConvCmpResult result = OSYNC_CONV_DATA_MISMATCH; osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, mapping_engines, change, sinkengine, mapping_engine); Modified: trunk/opensync/group/opensync_member.c ============================================================================== --- trunk/opensync/group/opensync_member.c Wed Jun 17 12:43:46 2009 (r5673) +++ trunk/opensync/group/opensync_member.c Wed Jun 17 15:14:12 2009 (r5674) @@ -632,27 +632,38 @@ return NULL; } -void osync_member_add_objformat(OSyncMember *member, const char *objtype, const char *format) +void osync_member_add_objformat(OSyncMember *member, const char *objtype, const char *format, OSyncError **error) { OSyncObjTypeSink *sink = osync_member_find_objtype_sink(member, objtype); OSyncObjFormatSink *format_sink = NULL; - if (!sink) + if (!sink) { + osync_error_set(error, OSYNC_ERROR_GENERIC, "Unable to find objtype %s", objtype); return; + } - /* TODO: handle error */ - format_sink = osync_objformat_sink_new(format, NULL); + format_sink = osync_objformat_sink_new(format, error); + if (!format_sink) { + osync_error_set(error, OSYNC_ERROR_GENERIC, "Unable to create sink for format %s", format); + return; + } osync_objtype_sink_add_objformat_sink(sink, format_sink); osync_objformat_sink_unref(format_sink); } -void osync_member_add_objformat_with_config(OSyncMember *member, const char *objtype, const char *format, const char *format_config) +void osync_member_add_objformat_with_config(OSyncMember *member, const char *objtype, const char *format, const char *format_config, OSyncError **error) { OSyncObjTypeSink *sink = osync_member_find_objtype_sink(member, objtype); OSyncObjFormatSink *format_sink = NULL; - if (!sink) + if (!sink) { + osync_error_set(error, OSYNC_ERROR_GENERIC, "Unable to find objtype %s", objtype); return; + } - format_sink = osync_objformat_sink_new(format, NULL); + format_sink = osync_objformat_sink_new(format, error); + if (!format_sink) { + osync_error_set(error, OSYNC_ERROR_GENERIC, "Unable to create sink for format %s", format); + return; + } osync_objformat_sink_set_config(format_sink, format_config); osync_objtype_sink_add_objformat_sink(sink, format_sink); osync_objformat_sink_unref(format_sink); Modified: trunk/opensync/group/opensync_member.h ============================================================================== --- trunk/opensync/group/opensync_member.h Wed Jun 17 12:43:46 2009 (r5673) +++ trunk/opensync/group/opensync_member.h Wed Jun 17 15:14:12 2009 (r5674) @@ -264,10 +264,11 @@ * * @param member The member pointer * @param objtype The searched object type - * @param format The name of the Object Format + * @param format The name of the Object Format + * @param error An OSyncError struct * */ -OSYNC_EXPORT void osync_member_add_objformat(OSyncMember *member, const char *objtype, const char *format); +OSYNC_EXPORT void osync_member_add_objformat(OSyncMember *member, const char *objtype, const char *format, OSyncError **error); /** @brief Add a specifc Object Format with a conversion path config to member * @@ -275,9 +276,10 @@ * @param objtype The searched object type * @param format The name of the Object Format * @param format_config The Object Format specific configuration + * @param error An OSyncError struct * */ -OSYNC_EXPORT void osync_member_add_objformat_with_config(OSyncMember *member, const char *objtype, const char *format, const char *format_config); +OSYNC_EXPORT void osync_member_add_objformat_with_config(OSyncMember *member, const char *objtype, const char *format, const char *format_config, OSyncError **error); /** @brief Get the capabilities of the member Modified: trunk/tests/engine-tests/check_engine.c ============================================================================== --- trunk/tests/engine-tests/check_engine.c Wed Jun 17 12:43:46 2009 (r5673) +++ trunk/tests/engine-tests/check_engine.c Wed Jun 17 15:14:12 2009 (r5674) @@ -19,17 +19,18 @@ static void _member_add_format(OSyncMember *member, const char *objtype, const char *objformat) { - OSyncObjTypeSink *sink = NULL; - osync_assert(member); - osync_assert(objtype); + OSyncObjTypeSink *sink = NULL; + OSyncError *error = NULL; + osync_assert(member); + osync_assert(objtype); - if (!osync_member_find_objtype_sink(member, objtype)) { - sink = osync_objtype_sink_new(objtype, NULL); - osync_member_add_objtype_sink(member, sink); - osync_objtype_sink_unref(sink); - } + if (!osync_member_find_objtype_sink(member, objtype)) { + sink = osync_objtype_sink_new(objtype, &error); + osync_member_add_objtype_sink(member, sink); + osync_objtype_sink_unref(sink); + } - osync_member_add_objformat(member, objtype, objformat); + osync_member_add_objformat(member, objtype, objformat, &error); } START_TEST (engine_new) |