From: <svn...@op...> - 2009-03-29 17:48:36
|
Author: bricks Date: Sun Mar 29 19:48:30 2009 New Revision: 5429 URL: http://www.opensync.org/changeset/5429 Log: changed list pattern for all mapping related interfaces refs #975 Modified: trunk/opensync/engine/opensync_obj_engine.c trunk/opensync/mapping/opensync_mapping.c trunk/opensync/mapping/opensync_mapping.h trunk/opensync/mapping/opensync_mapping_internals.h trunk/opensync/mapping/opensync_mapping_table.c trunk/opensync/mapping/opensync_mapping_table.h trunk/opensync/mapping/opensync_mapping_table_internals.h trunk/tests/support.c Modified: trunk/opensync/engine/opensync_obj_engine.c ============================================================================== --- trunk/opensync/engine/opensync_obj_engine.c Sun Mar 29 17:58:31 2009 (r5428) +++ trunk/opensync/engine/opensync_obj_engine.c Sun Mar 29 19:48:30 2009 (r5429) @@ -46,6 +46,7 @@ #include "client/opensync_client_proxy_internals.h" #include "group/opensync_member_internals.h" #include "format/opensync_objformat_internals.h" +#include "mapping/opensync_mapping_table_internals.h" OSyncMappingEngine *_osync_obj_engine_create_mapping_engine(OSyncObjEngine *engine, OSyncError **error) { @@ -618,11 +619,13 @@ static osync_bool _create_mapping_engines(OSyncObjEngine *engine, OSyncError **error) { - unsigned int i = 0; osync_trace(TRACE_ENTRY, "%s(%p, %p)", __func__, engine, error); - for (i = 0; i < osync_mapping_table_num_mappings(engine->mapping_table); i++) { - OSyncMapping *mapping = osync_mapping_table_nth_mapping(engine->mapping_table, i); + OSyncList *mappings = osync_mapping_table_get_mappings(engine->mapping_table); + OSyncList *m = NULL; + + for (m = mappings; m; m = m->next) { + OSyncMapping *mapping = (OSyncMapping*)m->data; OSyncMappingEngine *mapping_engine = osync_mapping_engine_new(engine, mapping, error); if (!mapping_engine) @@ -631,10 +634,12 @@ engine->mapping_engines = osync_list_append(engine->mapping_engines, mapping_engine); } + osync_list_free(mappings); osync_trace(TRACE_EXIT, "%s", __func__); return TRUE; error: + osync_list_free(mappings); osync_trace(TRACE_EXIT_ERROR, "%s: %s", __func__, osync_error_print(error)); return FALSE; } Modified: trunk/opensync/mapping/opensync_mapping.c ============================================================================== --- trunk/opensync/mapping/opensync_mapping.c Sun Mar 29 17:58:31 2009 (r5428) +++ trunk/opensync/mapping/opensync_mapping.c Sun Mar 29 19:48:30 2009 (r5429) @@ -131,3 +131,7 @@ osync_assert(mapping); return osync_list_nth_data(mapping->entries, nth); } + +OSyncList *osync_mapping_get_entries(OSyncMapping *mapping) { + return osync_list_copy(mapping->entries); +} Modified: trunk/opensync/mapping/opensync_mapping.h ============================================================================== --- trunk/opensync/mapping/opensync_mapping.h Sun Mar 29 17:58:31 2009 (r5428) +++ trunk/opensync/mapping/opensync_mapping.h Sun Mar 29 19:48:30 2009 (r5429) @@ -18,8 +18,8 @@ * */ -#ifndef OPENSYNC_MAPPING_H_ -#define OPENSYNC_MAPPING_H_ +#ifndef _OPENSYNC_MAPPING_H_ +#define _OPENSYNC_MAPPING_H_ /** * @defgroup OSyncMapping OpenSync Mapping Module @@ -71,22 +71,16 @@ */ OSYNC_EXPORT void osync_mapping_set_id(OSyncMapping *mapping, long long int id); - -/** - * @brief Get the number of entries in a mapping - * @param mapping Pointer to a mapping object - * @returns the number of entries in the mapping - */ -OSYNC_EXPORT unsigned int osync_mapping_num_entries(OSyncMapping *mapping); - /** - * @brief Get the nth entry in a mapping - * @param mapping Pointer to a mapping object - * @param nth the index of the entry to get - * @returns the nth entry in the mapping or NULL in case of error + * @brief Returns a OSyncList that contains the OSyncMappingEntries of this mapping + * + * Please be aware that the returned list has to be freed with + * osync_list_free. If it isn't freed there will be a memory leak. + * + * @param mapping A pointer to a OSyncMapping + * @return A shallow copy of the internal list of OSyncMappingEntries */ -OSYNC_EXPORT OSyncMappingEntry *osync_mapping_nth_entry(OSyncMapping *mapping, unsigned int nth); - +OSYNC_EXPORT OSyncList *osync_mapping_get_entries(OSyncMapping *mapping); /** * @brief Add an entry to a mapping @@ -113,4 +107,4 @@ /*@}*/ -#endif /*OPENSYNC_MAPPING_H_*/ +#endif /* _OPENSYNC_MAPPING_H_*/ Modified: trunk/opensync/mapping/opensync_mapping_internals.h ============================================================================== --- trunk/opensync/mapping/opensync_mapping_internals.h Sun Mar 29 17:58:31 2009 (r5428) +++ trunk/opensync/mapping/opensync_mapping_internals.h Sun Mar 29 19:48:30 2009 (r5429) @@ -18,8 +18,8 @@ * */ -#ifndef OPENSYNC_MAPPING_INTERNALS_H_ -#define OPENSYNC_MAPPING_INTERNALS_H_ +#ifndef _OPENSYNC_MAPPING_INTERNALS_H_ +#define _OPENSYNC_MAPPING_INTERNALS_H_ /** * @defgroup OSyncMappingPrivate OpenSync Mapping Module Private @@ -43,6 +43,22 @@ OSyncList *entries; }; +/** + * @brief Get the number of entries in a mapping + * @param mapping Pointer to a mapping object + * @returns the number of entries in the mapping + */ +OSYNC_TEST_EXPORT unsigned int osync_mapping_num_entries(OSyncMapping *mapping); + +/** + * @brief Get the nth entry in a mapping + * @param mapping Pointer to a mapping object + * @param nth the index of the entry to get + * @returns the nth entry in the mapping or NULL in case of error + */ +OSYNC_TEST_EXPORT OSyncMappingEntry *osync_mapping_nth_entry(OSyncMapping *mapping, unsigned int nth); + + /*@}*/ -#endif /*OPENSYNC_MAPPING_INTERNALS_H_*/ +#endif /* _OPENSYNC_MAPPING_INTERNALS_H_*/ Modified: trunk/opensync/mapping/opensync_mapping_table.c ============================================================================== --- trunk/opensync/mapping/opensync_mapping_table.c Sun Mar 29 17:58:31 2009 (r5428) +++ trunk/opensync/mapping/opensync_mapping_table.c Sun Mar 29 19:48:30 2009 (r5429) @@ -226,3 +226,6 @@ return new_id; } +OSyncList *osync_mapping_table_get_mappings(OSyncMappingTable *table) { + return osync_list_copy(table->mappings); +} Modified: trunk/opensync/mapping/opensync_mapping_table.h ============================================================================== --- trunk/opensync/mapping/opensync_mapping_table.h Sun Mar 29 17:58:31 2009 (r5428) +++ trunk/opensync/mapping/opensync_mapping_table.h Sun Mar 29 19:48:30 2009 (r5429) @@ -109,22 +109,15 @@ OSYNC_EXPORT void osync_mapping_table_remove_mapping(OSyncMappingTable *table, OSyncMapping *mapping); /** - * @brief Get the number of mappings in the mapping table - * - * @param table The mapping table object - * @return Number of mappings - */ -OSYNC_EXPORT unsigned int osync_mapping_table_num_mappings(OSyncMappingTable *table); - -/** - * @brief Get nth mapping object from mapping table - * - * @param table The mapping table object to count mappings - * @param nth The position of the mapping object - * @return The nth mapping object from mapping table or NULL if nth position isn't available - */ -OSYNC_EXPORT OSyncMapping *osync_mapping_table_nth_mapping(OSyncMappingTable *table, unsigned int nth); - + * @brief Returns a OSyncList that contains the OSyncMapping of this mapping table + * + * Please be aware that the returned list has to be freed with + * osync_list_free. If it isn't freed there will be a memory leak. + * + * @param table A pointer to a OSyncMappingTable + * @return A shallow copy of the internal list of OSyncMappings + */ +OSYNC_EXPORT OSyncList *osync_mapping_table_get_mappings(OSyncMappingTable *table); /** * @brief Get next free mapping id from mapping table Modified: trunk/opensync/mapping/opensync_mapping_table_internals.h ============================================================================== --- trunk/opensync/mapping/opensync_mapping_table_internals.h Sun Mar 29 17:58:31 2009 (r5428) +++ trunk/opensync/mapping/opensync_mapping_table_internals.h Sun Mar 29 19:48:30 2009 (r5429) @@ -18,8 +18,8 @@ * */ -#ifndef OPENSYNC_MAPPING_TABLE_INTERNALS_H_ -#define OPENSYNC_MAPPING_TABLE_INTERNALS_H_ +#ifndef _OPENSYNC_MAPPING_TABLE_INTERNALS_H_ +#define _OPENSYNC_MAPPING_TABLE_INTERNALS_H_ /** * @defgroup OSyncMappingTableInternalAPI OpenSync Mapping Table Internals @@ -40,6 +40,23 @@ OSyncList *mappings; }; +/** + * @brief Get the number of mappings in the mapping table + * + * @param table The mapping table object + * @return Number of mappings + */ +OSYNC_TEST_EXPORT unsigned int osync_mapping_table_num_mappings(OSyncMappingTable *table); + +/** + * @brief Get nth mapping object from mapping table + * + * @param table The mapping table object to count mappings + * @param nth The position of the mapping object + * @return The nth mapping object from mapping table or NULL if nth position isn't available + */ +OSYNC_TEST_EXPORT OSyncMapping *osync_mapping_table_nth_mapping(OSyncMappingTable *table, unsigned int nth); + /*@}*/ -#endif /*OPENSYNC_MAPPING_TABLE_INTERNALS_H_*/ +#endif /* _OPENSYNC_MAPPING_TABLE_INTERNALS_H_ */ Modified: trunk/tests/support.c ============================================================================== --- trunk/tests/support.c Sun Mar 29 17:58:31 2009 (r5428) +++ trunk/tests/support.c Sun Mar 29 19:48:30 2009 (r5429) @@ -6,6 +6,8 @@ #include "opensync/engine/opensync_engine_internals.h" #include "opensync/archive/opensync_archive_internals.h" #include "opensync/group/opensync_group_internals.h" +#include "opensync/mapping/opensync_mapping_table_internals.h" +#include "opensync/mapping/opensync_mapping_internals.h" char *olddir = NULL; |