From: <dg...@su...> - 2009-01-23 14:08:51
|
Author: dgollub Date: Fri Jan 23 15:07:37 2009 New Revision: 5226 URL: http://www.opensync.org/changeset/5226 Log: Get rid of hardcoded "data" ObjTypeSink handling. Mixed-objtype should be now possible not only for "data" objtype. Modified: trunk/opensync/engine/opensync_obj_engine.c trunk/opensync/group/opensync_group.c trunk/opensync/group/opensync_group_private.h trunk/opensync/group/opensync_member.c trunk/opensync/plugin/opensync_plugin_info.c Modified: trunk/opensync/engine/opensync_obj_engine.c ============================================================================== --- trunk/opensync/engine/opensync_obj_engine.c Fri Jan 23 14:26:20 2009 (r5225) +++ trunk/opensync/engine/opensync_obj_engine.c Fri Jan 23 15:07:37 2009 (r5226) @@ -771,7 +771,6 @@ osync_bool osync_obj_engine_initialize(OSyncObjEngine *engine, OSyncError **error) { - osync_bool dummy_sink = FALSE; const char *objtype = NULL; int num = 0; int i = 0; @@ -788,22 +787,12 @@ OSyncObjTypeSink *sink = osync_client_proxy_find_objtype_sink(proxy, objtype); OSyncSinkEngine *sinkengine = NULL; - dummy_sink = FALSE; - - if (!sink) { - /* "data" sink engine counts also as valid. */ - sink = osync_client_proxy_find_objtype_sink(proxy, "data"); - if (!sink) - continue; - - dummy_sink = TRUE; - } sinkengine = osync_sink_engine_new(i, proxy, engine, error); if (!sinkengine) goto error; - if (dummy_sink) + if (!sink) engine->dummy_sink_engines = osync_list_append(engine->dummy_sink_engines, sinkengine); else engine->active_sink_engines = osync_list_append(engine->active_sink_engines, sinkengine); @@ -1296,10 +1285,6 @@ member = osync_client_proxy_get_member(sinkengine->proxy); objtype_sink = osync_member_find_objtype_sink(member, engine->objtype); - /* If sink could not be found use "data" sink if available */ - /* TODO: Get rid of hardcoded-"data". Make this indepdendent of "data" */ - if (!objtype_sink) - objtype_sink = osync_member_find_objtype_sink(member, "data"); /* TODO: Review if objtype_sink = NULL is valid at all. */ osync_assert(objtype_sink); Modified: trunk/opensync/group/opensync_group.c ============================================================================== --- trunk/opensync/group/opensync_group.c Fri Jan 23 14:26:20 2009 (r5225) +++ trunk/opensync/group/opensync_group.c Fri Jan 23 15:07:37 2009 (r5226) @@ -157,21 +157,12 @@ } } -static void osync_group_add_one(gpointer key, gpointer value, gpointer user_data) -{ - GHashTable *table = user_data; - - int num = GPOINTER_TO_INT(value); - g_hash_table_replace(table, key, GINT_TO_POINTER(num + 1)); -} - static GList *osync_group_get_supported_objtypes(OSyncGroup *group) { GList *m = NULL; GList *ret = NULL; GHashTable *table = g_hash_table_new(g_str_hash, g_str_equal); - int num_data = 0; int i; /* Loop over all members... */ @@ -183,24 +174,13 @@ const char *objtype = osync_member_nth_objtype(member, i); if (objtype != NULL) { int num = 0; - /* For each objtype, add 1 to the hashtable. If the objtype is - * the special objtype "data", add 1 to all objtypes */ - if(!strcmp(objtype, "data")) - num_data++; + /* For each objtype, add 1 to the hashtable. */ num = GPOINTER_TO_INT(g_hash_table_lookup(table, objtype)); g_hash_table_replace(table, (char *)objtype, GINT_TO_POINTER(num + 1)); } } } - for (i = 0; i < num_data; i++) - g_hash_table_foreach(table, osync_group_add_one, table); - - if (g_hash_table_size(table) == 0 && num_data >= 2) { - osync_trace(TRACE_INTERNAL, "No objtype found yet, but data available"); - g_hash_table_replace(table, "data", GINT_TO_POINTER(num_data)); - } - g_hash_table_foreach(table, osync_group_build_list, &ret); g_hash_table_destroy(table); return ret; Modified: trunk/opensync/group/opensync_group_private.h ============================================================================== --- trunk/opensync/group/opensync_group_private.h Fri Jan 23 14:26:20 2009 (r5225) +++ trunk/opensync/group/opensync_group_private.h Fri Jan 23 15:07:37 2009 (r5226) @@ -52,8 +52,6 @@ static void osync_group_build_list(gpointer key, gpointer value, gpointer user_data); -static void osync_group_add_one(gpointer key, gpointer value, gpointer user_data); - /** @brief Get list of supported object types of the group * * @param group The group Modified: trunk/opensync/group/opensync_member.c ============================================================================== --- trunk/opensync/group/opensync_member.c Fri Jan 23 14:26:20 2009 (r5225) +++ trunk/opensync/group/opensync_member.c Fri Jan 23 15:07:37 2009 (r5226) @@ -658,15 +658,8 @@ { OSyncObjTypeSink *sink = osync_member_find_objtype_sink(member, objtype); if (!sink) { - /* FIXME: Nonsnse?! - sink = osync_member_find_objtype_sink(member, "data"); - if (!sink) { - */ osync_error_set(error, OSYNC_ERROR_GENERIC, "Unable to find objtype %s", objtype); return NULL; - /* - } - */ } return osync_objtype_sink_get_objformat_sinks(sink); Modified: trunk/opensync/plugin/opensync_plugin_info.c ============================================================================== --- trunk/opensync/plugin/opensync_plugin_info.c Fri Jan 23 14:26:20 2009 (r5225) +++ trunk/opensync/plugin/opensync_plugin_info.c Fri Jan 23 15:07:37 2009 (r5226) @@ -155,14 +155,6 @@ goto done; } - /* If we couldnt find the requested objtype, look if we find a sink - * which accepts any objtype ("data") */ - for (p = info->objtypes; p; p = p->next) { - sink = p->data; - if (g_ascii_strcasecmp(osync_objtype_sink_get_name(sink), "data") == 0) - goto done; - } - osync_trace(TRACE_EXIT, "%s: NULL", __func__); return NULL; |