From: <dg...@su...> - 2009-01-23 11:04:38
|
Author: dgollub Date: Fri Jan 23 12:03:19 2009 New Revision: 5223 URL: http://www.opensync.org/changeset/5223 Log: Introduce osync_obj_engine_{nth,num}_members() interfaces as requested in #1037 This will make the OSyncSinkEngine interface obsolete Modified: trunk/opensync.sym trunk/opensync/engine/opensync_obj_engine.c trunk/opensync/engine/opensync_obj_engine.h Modified: trunk/opensync.sym ============================================================================== --- trunk/opensync.sym Fri Jan 23 11:28:04 2009 (r5222) +++ trunk/opensync.sym Fri Jan 23 12:03:19 2009 (r5223) @@ -352,7 +352,9 @@ osync_obj_engine_get_slowsync osync_obj_engine_initialize osync_obj_engine_new +osync_obj_engine_nth_member osync_obj_engine_nth_sinkengine +osync_obj_engine_num_members osync_obj_engine_num_sinkengines osync_obj_engine_receive_change osync_obj_engine_ref Modified: trunk/opensync/engine/opensync_obj_engine.c ============================================================================== --- trunk/opensync/engine/opensync_obj_engine.c Fri Jan 23 11:28:04 2009 (r5222) +++ trunk/opensync/engine/opensync_obj_engine.c Fri Jan 23 12:03:19 2009 (r5223) @@ -1215,6 +1215,21 @@ return osync_list_length(engine->mapping_engines); } +unsigned int osync_obj_engine_num_members(OSyncObjEngine *engine) +{ + osync_assert(engine); + return osync_obj_engine_num_sinkengines(engine); +} + +OSyncMember *osync_obj_engine_nth_member(OSyncObjEngine *engine, unsigned int nth) +{ + OSyncSinkEngine *sinkengine; + osync_return_val_if_fail(engine, NULL); + sinkengine = osync_list_nth_data(engine->active_sink_engines, nth); + osync_assert(sinkengine); + return osync_sink_engine_get_member(sinkengine); +} + osync_bool osync_obj_engine_prepare_write(OSyncObjEngine *engine, OSyncError **error) { OSyncList *p; Modified: trunk/opensync/engine/opensync_obj_engine.h ============================================================================== --- trunk/opensync/engine/opensync_obj_engine.h Fri Jan 23 11:28:04 2009 (r5222) +++ trunk/opensync/engine/opensync_obj_engine.h Fri Jan 23 12:03:19 2009 (r5223) @@ -58,5 +58,21 @@ */ OSYNC_EXPORT unsigned int osync_obj_engine_num_sinkengines(OSyncObjEngine *engine); +/*! @brief Get total number of Members + * + * @param engine Pointer to OSyncObjEngine + * @returns Total number of OSyncMember elements + */ +OSYNC_EXPORT unsigned int osync_obj_engine_num_members(OSyncObjEngine *engine); + +/** @brief Get the nth OSyncMember of the OSyncObjEngine + * + * @param engine A pointer to the engine + * @param nth The position of the OSyncMember to request + * @returns Pointer of the nth OSyncMember, or NULL if not available + * + */ +OSYNC_EXPORT OSyncMember *osync_obj_engine_nth_member(OSyncObjEngine *engine, unsigned int nth); + #endif /* OPENSYNC_OBJ_ENGINE_H_ */ |