Changeset 3318

Show
Ignore:
Timestamp:
05/04/08 22:42:11 (3 months ago)
Author:
dgollub
Message:

Use OSyncList instead of an NULL terminated array of OSyncObjFormat for
OSyncFormatEnv. Easier for API consumer.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/opensync/format/opensync_format_env.c

    r3224 r3318  
    163163} 
    164164 
    165 /** Function used on a path search for a format name array 
     165/** Function used on a path search for a OSyncList of OSyncObjFormatSinks  
    166166 * 
    167167 * @see osync_conv_find_path_fn(), osync_change_convert_fmtnames() 
    168168 */ 
    169 static osync_bool _target_fn_formats(const void *data, OSyncObjFormat *fmt) 
    170 
    171         OSyncObjFormat **list = (OSyncObjFormat **)data; 
    172         OSyncObjFormat **i; 
    173         for (i = list; *i; i++) { 
    174                 if (osync_objformat_is_equal(fmt, *i)) 
     169static osync_bool _target_fn_format_sinks(const void *data, OSyncObjFormat *fmt) 
     170
     171        OSyncList *f, *formats = (OSyncList *) data; 
     172        for (f = formats; f; f = f->next) { 
     173                OSyncObjFormatSink *format_sink = f->data; 
     174                const char *format = osync_objformat_sink_get_objformat(format_sink); 
     175                /*if (osync_objformat_is_equal(fmt, format))*/ 
     176                if (!strcmp(format, osync_objformat_get_name(fmt))) 
    175177                        /* Found */ 
    176178                        return TRUE; 
     
    10701072 * @param env The conversion environment to use 
    10711073 * @param sourceformat The source format to be converted from 
    1072  * @param targets NULL-Terminated array of possible formats to convert to 
     1074 * @param targets List of possible Object Format Sinks 
    10731075 * @param error The error-return location 
    10741076 * @returns The appropriate conversion path, or NULL if an error occurred. 
    10751077 *  
    10761078 */ 
    1077 OSyncFormatConverterPath *osync_format_env_find_path_formats(OSyncFormatEnv *env, OSyncObjFormat *sourceformat, OSyncObjFormat **targets, OSyncError **error) 
     1079OSyncFormatConverterPath *osync_format_env_find_path_formats(OSyncFormatEnv *env, OSyncObjFormat *sourceformat, OSyncList *targets, OSyncError **error) 
    10781080{ 
    10791081        OSyncFormatConverterPath *path = NULL; 
     
    10841086                goto error; 
    10851087 
    1086         path = _osync_format_env_find_path_fn(env, sourcedata, _target_fn_formats, targets, error); 
     1088        path = _osync_format_env_find_path_fn(env, sourcedata, _target_fn_format_sinks, targets, error); 
    10871089 
    10881090        osync_data_unref(sourcedata); 
     
    11031105 * @param env The format environment to use 
    11041106 * @param sourcedata The OSyncData object which should be converted and the detectors will run on 
    1105  * @param targets NULL-Terminated array of possible formats to convert to 
     1107 * @param targets List of possible Object Format Sinks 
    11061108 * @param error The error-return location 
    11071109 * @returns The appropriate conversion path, or NULL if an error occurred. 
    11081110 *  
    11091111 */ 
    1110 OSyncFormatConverterPath *osync_format_env_find_path_formats_with_detectors(OSyncFormatEnv *env, OSyncData *sourcedata, OSyncObjFormat **targets, OSyncError **error) 
     1112OSyncFormatConverterPath *osync_format_env_find_path_formats_with_detectors(OSyncFormatEnv *env, OSyncData *sourcedata, OSyncList *targets, OSyncError **error) 
    11111113{ 
    11121114        OSyncFormatConverterPath *path = NULL; 
    11131115        osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, env, sourcedata, targets, error); 
    11141116         
    1115         path = _osync_format_env_find_path_fn(env, sourcedata, _target_fn_formats, targets, error); 
     1117        path = _osync_format_env_find_path_fn(env, sourcedata, _target_fn_format_sinks, targets, error); 
    11161118        if (!path) { 
    11171119                osync_trace(TRACE_EXIT_ERROR, "%s: %s", __func__, osync_error_print(error)); 
  • trunk/opensync/format/opensync_format_env.h

    r3041 r3318  
    4747 
    4848OSYNC_EXPORT OSyncFormatConverterPath *osync_format_env_find_path(OSyncFormatEnv *env, OSyncObjFormat *sourceformat, OSyncObjFormat *targetformat, OSyncError **error); 
    49 OSYNC_EXPORT OSyncFormatConverterPath *osync_format_env_find_path_formats(OSyncFormatEnv *env, OSyncObjFormat *sourceformat, OSyncObjFormat **targets, OSyncError **error); 
     49OSYNC_EXPORT OSyncFormatConverterPath *osync_format_env_find_path_formats(OSyncFormatEnv *env, OSyncObjFormat *sourceformat, OSyncList *targets, OSyncError **error); 
    5050 
    5151OSYNC_EXPORT OSyncFormatConverterPath *osync_format_env_find_path_with_detectors(OSyncFormatEnv *env, OSyncData *sourcedata, OSyncObjFormat *targetformat, OSyncError **error); 
    52 OSYNC_EXPORT OSyncFormatConverterPath *osync_format_env_find_path_formats_with_detectors(OSyncFormatEnv *env, OSyncData *sourcedata, OSyncObjFormat **targets, OSyncError **error); 
     52OSYNC_EXPORT OSyncFormatConverterPath *osync_format_env_find_path_formats_with_detectors(OSyncFormatEnv *env, OSyncData *sourcedata, OSyncList *targets, OSyncError **error); 
    5353 
    5454