From 6793cce3efff9df99d23b4a597600f0a027f4c9f Mon Sep 17 00:00:00 2001 From: Bas Zalmstra Date: Mon, 10 Jun 2024 12:36:58 +0200 Subject: [PATCH] fix: redefinition errors --- cpp/include/resolvo.h | 4 +-- cpp/include/resolvo_dependency_provider.h | 33 ++++++++++++----------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/cpp/include/resolvo.h b/cpp/include/resolvo.h index b5925b6..6a41aa3 100644 --- a/cpp/include/resolvo.h +++ b/cpp/include/resolvo.h @@ -12,8 +12,8 @@ namespace resolvo { * stored in `result`. If the solve was unsuccesfull an error describing the reason is returned and * the result vector will be empty. */ -String solve(DependencyProvider &provider, Slice requirements, - Slice constraints, Vector &result) { +inline String solve(DependencyProvider &provider, Slice requirements, + Slice constraints, Vector &result) { cbindgen_private::DependencyProvider bridge{ static_cast(&provider), private_api::bridge_display_solvable, diff --git a/cpp/include/resolvo_dependency_provider.h b/cpp/include/resolvo_dependency_provider.h index 8be5101..5f56c9c 100644 --- a/cpp/include/resolvo_dependency_provider.h +++ b/cpp/include/resolvo_dependency_provider.h @@ -102,46 +102,49 @@ struct DependencyProvider { }; namespace private_api { -extern "C" void bridge_display_solvable(void *data, SolvableId solvable, String *result) { +extern "C" inline void bridge_display_solvable(void *data, SolvableId solvable, String *result) { *result = reinterpret_cast(data)->display_solvable(solvable); } -extern "C" void bridge_display_solvable_name(void *data, SolvableId solvable, String *result) { +extern "C" inline void bridge_display_solvable_name(void *data, SolvableId solvable, + String *result) { *result = reinterpret_cast(data)->display_solvable_name(solvable); } -extern "C" void bridge_display_merged_solvables(void *data, Slice solvable, - String *result) { +extern "C" inline void bridge_display_merged_solvables(void *data, Slice solvable, + String *result) { *result = reinterpret_cast(data)->display_merged_solvables(solvable); } -extern "C" void bridge_display_name(void *data, NameId name, String *result) { +extern "C" inline void bridge_display_name(void *data, NameId name, String *result) { *result = reinterpret_cast(data)->display_name(name); } -extern "C" void bridge_display_version_set(void *data, VersionSetId version_set, String *result) { +extern "C" inline void bridge_display_version_set(void *data, VersionSetId version_set, + String *result) { *result = reinterpret_cast(data)->display_version_set(version_set); } -extern "C" void bridge_display_string(void *data, StringId string, String *result) { +extern "C" inline void bridge_display_string(void *data, StringId string, String *result) { *result = reinterpret_cast(data)->display_string(string); } -extern "C" NameId bridge_version_set_name(void *data, VersionSetId version_set_id) { +extern "C" inline NameId bridge_version_set_name(void *data, VersionSetId version_set_id) { return reinterpret_cast(data)->version_set_name(version_set_id); } -extern "C" NameId bridge_solvable_name(void *data, SolvableId solvable_id) { +extern "C" inline NameId bridge_solvable_name(void *data, SolvableId solvable_id) { return reinterpret_cast(data)->solvable_name(solvable_id); } -extern "C" void bridge_get_candidates(void *data, NameId package, Candidates *result) { +extern "C" inline void bridge_get_candidates(void *data, NameId package, Candidates *result) { *result = reinterpret_cast(data)->get_candidates(package); } -extern "C" void bridge_sort_candidates(void *data, Slice solvables) { +extern "C" inline void bridge_sort_candidates(void *data, Slice solvables) { return reinterpret_cast(data)->sort_candidates(solvables); } -extern "C" void bridge_filter_candidates(void *data, Slice candidates, - VersionSetId version_set_id, bool inverse, - Vector *result) { +extern "C" inline void bridge_filter_candidates(void *data, Slice candidates, + VersionSetId version_set_id, bool inverse, + Vector *result) { *result = reinterpret_cast(data)->filter_candidates( candidates, version_set_id, inverse); } -extern "C" void bridge_get_dependencies(void *data, SolvableId solvable, Dependencies *result) { +extern "C" inline void bridge_get_dependencies(void *data, SolvableId solvable, + Dependencies *result) { *result = reinterpret_cast(data)->get_dependencies(solvable); }