Changeset 425

Show
Ignore:
Timestamp:
03/31/05 15:14:12 (4 years ago)
Author:
abauer
Message:

Added a has_configuration option to the plugin info that
can be used to tell opensync that this plugin does not have any
configuration options.

Location:
trunk/opensync
Files:
8 modified

Legend:

Unmodified
Added
Removed
  • trunk/opensync/opensync_changecmds.c

    r422 r425  
    5959        const char *name = data; 
    6060        return !strcmp(name, fmt->name); 
     61} 
     62 
     63/** Function used on path searchs for a sink on a member 
     64 * 
     65 * @see osync_conv_find_path_fn(), osync_change_convert_member_sink() 
     66 */ 
     67static osync_bool target_fn_membersink(const void *data, OSyncObjFormat *fmt) 
     68{ 
     69        const OSyncMember *memb = data; 
     70        GList *i; 
     71        for (i = memb->format_sinks; i; i = i->next) { 
     72                OSyncObjFormatSink *sink = i->data; 
     73                if (sink->format == fmt) 
     74                        return TRUE; 
     75        } 
     76 
     77        /* Not found */ 
     78        return FALSE; 
    6179} 
    6280 
     
    437455} 
    438456 
     457/*! @brief Convert a change to the nearest sink on a member 
     458 *  
     459 *  
     460 * @param env The conversion environment to use 
     461 * @param change The change to convert 
     462 * @param member The member that will receive the change 
     463 * @param error The error-return location 
     464 * @returns TRUE on success, FALSE otherwise 
     465 *  
     466 */ 
     467osync_bool osync_change_convert_member_sink(OSyncFormatEnv *env, OSyncChange *change, OSyncMember *member, OSyncError **error) 
     468{ 
     469        return osync_conv_convert_fn(env, change, target_fn_membersink, member, member->extension, error); 
     470} 
     471 
    439472/*! @brief Tries to detect the object type of the given change 
    440473 *  
  • trunk/opensync/opensync_changecmds.h

    r409 r425  
    1717osync_bool osync_change_convert_to_common(OSyncChange *change, OSyncError **error); 
    1818osync_bool osync_change_convert_extension(OSyncFormatEnv *env, OSyncChange *change, OSyncObjFormat *targetformat, const char *extension_name, OSyncError **error); 
     19osync_bool osync_change_convert_member_sink(OSyncFormatEnv *env, OSyncChange *change, OSyncMember *memb, OSyncError **error); 
    1920 
    2021osync_bool osync_change_copy_data(OSyncChange *source, OSyncChange *target, OSyncError **error); 
  • trunk/opensync/opensync_convert.c

    r422 r425  
    515515} 
    516516 
    517 /** Function used on path searchs for a sink on a member 
    518  * 
    519  * @see osync_conv_find_path_fn(), osync_change_convert_member_sink() 
    520  */ 
    521 static osync_bool target_fn_membersink(const void *data, OSyncObjFormat *fmt) 
    522 { 
    523         const OSyncMember *memb = data; 
    524         GList *i; 
    525         for (i = memb->format_sinks; i; i = i->next) { 
    526                 OSyncObjFormatSink *sink = i->data; 
    527                 if (sink->format == fmt) 
    528                         return TRUE; 
    529         } 
    530  
    531         /* Not found */ 
    532         return FALSE; 
    533 } 
    534  
    535 /** Convert a change to the nearest format sink on a member 
    536  */ 
    537 osync_bool osync_change_convert_member_sink(OSyncFormatEnv *env, OSyncChange *change, OSyncMember *member, OSyncError **error) 
    538 { 
    539         return osync_conv_convert_fn(env, change, target_fn_membersink, member, member->extension, error); 
    540 } 
    541  
    542517osync_bool osync_conv_objtype_is_any(const char *objstr) 
    543518{ 
  • trunk/opensync/opensync_format_internals.h

    r415 r425  
    161161osync_bool osync_conv_convert_fn(OSyncFormatEnv *env, OSyncChange *change, OSyncPathTargetFn target_fn, const void *fndata, const char *extension_name, OSyncError **error); 
    162162osync_bool osync_conv_convert_fmtlist(OSyncFormatEnv *env, OSyncChange *change, GList/*OSyncObjFormat * */ *targets); 
    163 osync_bool osync_change_convert_member_sink(OSyncFormatEnv *env, OSyncChange *change, OSyncMember *memb, OSyncError **error); 
    164163OSyncDataDetector *osync_env_find_detector(OSyncEnv *env, const char *sourcename, const char *targetname); 
    165164osync_bool osync_conv_objtype_is_any(const char *objstr); 
  • trunk/opensync/opensync_member.c

    r416 r425  
    375375        member->configsize = size; 
    376376        osync_trace(TRACE_EXIT, "%s", __func__); 
     377} 
     378 
     379/** @brief Returns if the member has configuation options 
     380 *  
     381 * @param member The member 
     382 * @return TRUE if member needs to be configured, FALSE otherwise 
     383 *  
     384 */ 
     385osync_bool osync_member_has_configuration(OSyncMember *member) 
     386{ 
     387        osync_trace(TRACE_ENTRY, "%s(%p)", __func__, member); 
     388        g_assert(member);        
     389        osync_trace(TRACE_EXIT, "%s: %i", __func__, member->plugin->info.has_configuration); 
     390        return member->plugin->info.has_configuration; 
    377391} 
    378392 
  • trunk/opensync/opensync_member.h

    r415 r425  
    2323osync_bool osync_member_get_config(OSyncMember *member, char **data, int *size, OSyncError **error); 
    2424void osync_member_set_config(OSyncMember *member, const char *data, int size); 
     25osync_bool osync_member_has_configuration(OSyncMember *member); 
    2526const char *osync_member_get_pluginname(OSyncMember *member); 
    2627osync_bool osync_member_initialize(OSyncMember *member, OSyncError **error); 
  • trunk/opensync/opensync_plugin.c

    r416 r425  
    135135         
    136136        plugin->info.plugin = plugin; 
     137        plugin->info.has_configuration = TRUE; 
    137138         
    138139        if (env) { 
  • trunk/opensync/opensync_plugin.h

    r417 r425  
    8585        /** The timeouts of your plugin */ 
    8686        OSyncPluginTimeouts timeouts; 
     87        /** Does the plugin have configuration options? */ 
     88        osync_bool has_configuration; 
    8789        /** The pointer to the plugin (for internal use) */ 
    8890        OSyncPlugin *plugin;