osync_bool get_conversion_info(OSyncFormatEnv *env, OSyncError **error) { OSyncFormatConverter *conv = NULL; /* mock converter */ OSyncObjFormat *mockformat1 = osync_format_env_find_objformat(env, "mockformat1"); osync_assert(mockformat1); OSyncObjFormat *mockformat2 = osync_format_env_find_objformat(env, "mockformat2"); osync_assert(mockformat2); conv = osync_converter_new(OSYNC_CONVERTER_DECAP, mockformat1, mockformat2, conv_file_to_plain, error); osync_assert(conv); osync_format_env_register_converter(env, conv); osync_converter_unref(conv); conv = osync_converter_new(OSYNC_CONVERTER_ENCAP, mockformat2, mockformat1, conv_plain_to_file, error); osync_assert(conv); osync_format_env_register_converter(env, conv); osync_converter_unref(conv); return TRUE; }
osync_bool get_conversion_info(OSyncFormatEnv *env, OSyncError **error) { OSyncObjFormat *file = osync_format_env_find_objformat(env, "file"); OSyncObjFormat *plain = NULL; OSyncFormatConverter *conv = NULL; if (!file) { osync_error_set(error, OSYNC_ERROR_GENERIC, "Unable to find file format"); return FALSE; } plain = osync_format_env_find_objformat(env, "plain"); if (!plain) { osync_error_set(error, OSYNC_ERROR_GENERIC, "Unable to find plain format"); return FALSE; } conv = osync_converter_new(OSYNC_CONVERTER_DECAP, file, plain, conv_file_to_plain, error); if (!conv) return FALSE; osync_format_env_register_converter(env, conv, error); osync_converter_unref(conv); conv = osync_converter_new(OSYNC_CONVERTER_ENCAP, plain, file, conv_plain_to_file, error); if (!conv) return FALSE; osync_format_env_register_converter(env, conv, error); osync_converter_unref(conv); return TRUE; }
void osync_format_env_free(OSyncFormatEnv *env) { osync_trace(TRACE_ENTRY, "%s(%p)", __func__, env); osync_assert(env); /* Free the formats */ while (env->objformats) { osync_trace(TRACE_INTERNAL, "FORMAT: %s", osync_objformat_get_name(env->objformats->data)); osync_objformat_unref(env->objformats->data); env->objformats = g_list_remove(env->objformats, env->objformats->data); } osync_format_env_converter_finalize(env); /* Free the converters */ while (env->converters) { osync_converter_unref(env->converters->data); env->converters = g_list_remove(env->converters, env->converters->data); } /* Free the filters */ while (env->custom_filters) { osync_custom_filter_unref(env->custom_filters->data); env->custom_filters = g_list_remove(env->custom_filters, env->custom_filters->data); } /* Free the modules */ while (env->modules) { osync_module_free(env->modules->data); env->modules = g_list_remove(env->modules, env->modules->data); } g_free(env); osync_trace(TRACE_EXIT, "%s", __func__); }