[fdf][compat] Use new FIDL tables
Move the code off of the deprecated FIDL tables
Change-Id: Ida84b707d038944bf860d7df5b6a2c55fe77a4ae
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/667122
Reviewed-by: Suraj Malhotra <surajmalhotra@google.com>
Commit-Queue: David Gilhooley <dgilhooley@google.com>
diff --git a/build/cpp/BUILD.gn b/build/cpp/BUILD.gn
index c907e51..ea0b55b 100644
--- a/build/cpp/BUILD.gn
+++ b/build/cpp/BUILD.gn
@@ -311,7 +311,6 @@
"//src/devices/board/lib/acpi",
"//src/devices/board/lib/acpi:acpi-test",
"//src/devices/i2c/drivers/i2c:i2c-test-bin",
- "//src/devices/lib/compat",
"//src/devices/lib/driver2:llcpp_test",
"//src/devices/lib/fidl-metadata",
"//src/devices/light-sensor/drivers/ams-light:ams-light-driver",
diff --git a/src/devices/lib/compat/BUILD.gn b/src/devices/lib/compat/BUILD.gn
index c932cf6..d9b9b2b 100644
--- a/src/devices/lib/compat/BUILD.gn
+++ b/src/devices/lib/compat/BUILD.gn
@@ -15,8 +15,4 @@
"//src/devices/misc/drivers/compat/fidl:fuchsia.driver.compat_llcpp",
"//zircon/system/ulib/service:service-llcpp",
]
-
- # TODO(fxbug.dev/94768): This target uses mutable tables which are deprecated,
- # rather than builders.
- configs += [ "//build/cpp:fidl-wire-deprecated-mutable-tables" ]
}
diff --git a/src/devices/lib/compat/compat.cc b/src/devices/lib/compat/compat.cc
index c7cee55..e5d7d94 100644
--- a/src/devices/lib/compat/compat.cc
+++ b/src/devices/lib/compat/compat.cc
@@ -173,14 +173,14 @@
std::vector<fuchsia_component_decl::wire::Offer> Child::CreateOffers(fidl::ArenaBase& arena) {
std::vector<fuchsia_component_decl::wire::Offer> offers;
for (auto& instance : instances_) {
- fcd::wire::OfferDirectory dir_offer(arena);
- dir_offer.set_source_name(arena, arena, instance->service_name());
- dir_offer.set_target_name(arena, arena, std::string(instance->service_name()) + "-default");
- dir_offer.set_rights(arena, fuchsia_io::wire::kRwStarDir);
- dir_offer.set_subdir(arena, arena, instance->instance_name());
- dir_offer.set_dependency_type(fcd::wire::DependencyType::kStrong);
+ auto dir_offer = fcd::wire::OfferDirectory::Builder(arena);
+ dir_offer.source_name(arena, instance->service_name());
+ dir_offer.target_name(arena, std::string(instance->service_name()) + "-default");
+ dir_offer.rights(fuchsia_io::wire::kRwStarDir);
+ dir_offer.subdir(arena, instance->instance_name());
+ dir_offer.dependency_type(fcd::wire::DependencyType::kStrong);
- offers.push_back(fcd::wire::Offer::WithDirectory(arena, std::move(dir_offer)));
+ offers.push_back(fcd::wire::Offer::WithDirectory(arena, dir_offer.Build()));
}
return offers;
}