[netemul_runner] Port to use libsys
DX-387 #comment
TEST=CQ
Change-Id: I038a1f821321026d7e71675be5d37da9d9fda722
diff --git a/garnet/bin/netemul_runner/BUILD.gn b/garnet/bin/netemul_runner/BUILD.gn
index fc77c5c..c4efbb3 100644
--- a/garnet/bin/netemul_runner/BUILD.gn
+++ b/garnet/bin/netemul_runner/BUILD.gn
@@ -28,8 +28,6 @@
"//garnet/bin/netemul_runner/model",
"//garnet/lib/cmx:cmx",
"//garnet/lib/process",
- "//garnet/public/lib/component/cpp",
- "//garnet/public/lib/component/cpp/testing",
"//garnet/public/lib/fsl",
"//garnet/public/lib/fxl",
"//garnet/public/lib/json",
@@ -42,6 +40,7 @@
"//garnet/public/lib/netemul/sync:sync_service",
"//sdk/fidl/fuchsia.sys",
"//sdk/lib/sys/cpp",
+ "//sdk/lib/sys/cpp/testing:enclosing_environment",
"//third_party/rapidjson",
"//zircon/public/lib/async-cpp",
"//zircon/public/lib/async-default",
@@ -61,7 +60,8 @@
deps = [
":src",
- "//garnet/public/lib/component/cpp",
+ "//garnet/public/lib/fxl",
+ "//sdk/lib/sys/cpp",
"//third_party/rapidjson",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/memfs-cpp",
@@ -76,7 +76,6 @@
deps = [
":src",
- "//garnet/public/lib/component/cpp",
"//garnet/public/lib/fsl",
"//garnet/public/lib/fxl/test:gtest_main",
"//garnet/public/lib/gtest",
diff --git a/garnet/bin/netemul_runner/main.cc b/garnet/bin/netemul_runner/main.cc
index d3de3c7..4e7b5ce 100644
--- a/garnet/bin/netemul_runner/main.cc
+++ b/garnet/bin/netemul_runner/main.cc
@@ -4,10 +4,10 @@
#include <fcntl.h>
#include <lib/async-loop/cpp/loop.h>
-#include <lib/component/cpp/startup_context.h>
#include <lib/fxl/command_line.h>
#include <lib/fxl/log_settings_command_line.h>
#include <lib/fxl/logging.h>
+#include <lib/sys/cpp/component_context.h>
#include <lib/sys/cpp/termination_reason.h>
#include <iostream>
#include "sandbox.h"
@@ -74,7 +74,7 @@
} else {
FXL_LOG(INFO) << "Exposing fuchsia.netemul.sandbox.Sandbox service";
SandboxService service(loop.dispatcher());
- auto context = component::StartupContext::CreateFromStartupInfo();
+ auto context = sys::ComponentContext::CreateFromStartupInfo();
context->outgoing().AddPublicService(service.GetHandler());
loop.Run();
}
diff --git a/garnet/bin/netemul_runner/managed_environment.cc b/garnet/bin/netemul_runner/managed_environment.cc
index 4b7c1d8..c47d92a 100644
--- a/garnet/bin/netemul_runner/managed_environment.cc
+++ b/garnet/bin/netemul_runner/managed_environment.cc
@@ -8,8 +8,8 @@
namespace netemul {
-using component::testing::EnclosingEnvironment;
-using component::testing::EnvironmentServices;
+using sys::testing::EnclosingEnvironment;
+using sys::testing::EnvironmentServices;
ManagedEnvironment::Ptr ManagedEnvironment::CreateRoot(
const fuchsia::sys::EnvironmentPtr& parent,
@@ -21,7 +21,7 @@
ManagedEnvironment::ManagedEnvironment(const SandboxEnv::Ptr& sandbox_env)
: sandbox_env_(sandbox_env) {}
-component::testing::EnclosingEnvironment& ManagedEnvironment::environment() {
+sys::testing::EnclosingEnvironment& ManagedEnvironment::environment() {
return *env_;
}
diff --git a/garnet/bin/netemul_runner/managed_environment.h b/garnet/bin/netemul_runner/managed_environment.h
index e8f85d5..9d8cc79 100644
--- a/garnet/bin/netemul_runner/managed_environment.h
+++ b/garnet/bin/netemul_runner/managed_environment.h
@@ -6,9 +6,8 @@
#define GARNET_BIN_NETEMUL_RUNNER_MANAGED_ENVIRONMENT_H_
#include <fuchsia/netemul/environment/cpp/fidl.h>
-#include <lib/component/cpp/testing/enclosing_environment.h>
#include <lib/fxl/macros.h>
-#include <lib/svc/cpp/services.h>
+#include <lib/sys/cpp/testing/enclosing_environment.h>
#include <memory>
#include "managed_launcher.h"
#include "managed_logger.h"
@@ -31,13 +30,6 @@
const SandboxEnv::Ptr& sandbox_env() const { return sandbox_env_; }
- const std::shared_ptr<component::Services>& services() {
- if (!services_) {
- services_ = std::make_shared<component::Services>();
- }
- return services_;
- }
-
void GetLauncher(
::fidl::InterfaceRequest<::fuchsia::sys::Launcher> launcher) override;
@@ -60,7 +52,7 @@
protected:
friend ManagedLauncher;
- component::testing::EnclosingEnvironment& environment();
+ sys::testing::EnclosingEnvironment& environment();
ManagedLoggerCollection& loggers();
zx::channel OpenVdevDirectory();
zx::channel OpenVdataDirectory();
@@ -71,10 +63,9 @@
const ManagedEnvironment* managed_parent = nullptr);
SandboxEnv::Ptr sandbox_env_;
- std::unique_ptr<component::testing::EnclosingEnvironment> env_;
+ std::unique_ptr<sys::testing::EnclosingEnvironment> env_;
std::unique_ptr<ManagedLoggerCollection> loggers_;
std::unique_ptr<ManagedLauncher> launcher_;
- std::shared_ptr<component::Services> services_;
EnvironmentRunningCallback running_callback_;
fidl::BindingSet<FManagedEnvironment> bindings_;
std::vector<ManagedEnvironment::Ptr> children_;
diff --git a/garnet/bin/netemul_runner/runner/BUILD.gn b/garnet/bin/netemul_runner/runner/BUILD.gn
index a9d7be0..e54ac52 100644
--- a/garnet/bin/netemul_runner/runner/BUILD.gn
+++ b/garnet/bin/netemul_runner/runner/BUILD.gn
@@ -15,11 +15,11 @@
deps = [
"//garnet/lib/cmx:cmx",
- "//sdk/fidl/fuchsia.sys",
- "//garnet/public/lib/component/cpp",
"//garnet/public/lib/fsl",
"//garnet/public/lib/fxl",
"//garnet/public/lib/pkg_url",
+ "//sdk/fidl/fuchsia.sys",
+ "//sdk/lib/sys/cpp",
"//third_party/rapidjson",
"//zircon/public/lib/async-cpp",
"//zircon/public/lib/async-default",
diff --git a/garnet/bin/netemul_runner/runner/runner.cc b/garnet/bin/netemul_runner/runner/runner.cc
index 631d0dc..5e6fcba 100644
--- a/garnet/bin/netemul_runner/runner/runner.cc
+++ b/garnet/bin/netemul_runner/runner/runner.cc
@@ -12,7 +12,6 @@
#include "garnet/lib/cmx/cmx.h"
namespace netemul {
-using component::StartupContext;
static const char* kSandbox =
"fuchsia-pkg://fuchsia.com/netemul_sandbox#meta/netemul_sandbox.cmx";
static const char* kDefinitionArg = "--definition=";
@@ -24,12 +23,10 @@
}
dispatcher_ = dispatcher;
- startup_context_ = StartupContext::CreateFromStartupInfo();
- startup_context_->ConnectToEnvironmentService(
- launcher_.NewRequest(dispatcher_));
- startup_context_->ConnectToEnvironmentService(
- loader_.NewRequest(dispatcher_));
- startup_context_->outgoing().AddPublicService(
+ component_context_ = sys::ComponentContext::CreateFromStartupInfo();
+ component_context_->svc()->Connect(launcher_.NewRequest(dispatcher_));
+ component_context_->svc()->Connect(loader_.NewRequest(dispatcher_));
+ component_context_->outgoing().AddPublicService(
bindings_.GetHandler(this, dispatcher_));
}
diff --git a/garnet/bin/netemul_runner/runner/runner.h b/garnet/bin/netemul_runner/runner/runner.h
index 1c837cf..5418f15 100644
--- a/garnet/bin/netemul_runner/runner/runner.h
+++ b/garnet/bin/netemul_runner/runner/runner.h
@@ -5,9 +5,9 @@
#ifndef GARNET_BIN_NETEMUL_RUNNER_RUNNER_RUNNER_H_
#define GARNET_BIN_NETEMUL_RUNNER_RUNNER_RUNNER_H_
-#include <lib/component/cpp/startup_context.h>
+#include <fuchsia/sys/cpp/fidl.h>
#include <lib/fidl/cpp/binding_set.h>
-#include "fuchsia/sys/cpp/fidl.h"
+#include <lib/sys/cpp/component_context.h>
namespace netemul {
class Runner : public fuchsia::sys::Runner {
@@ -26,7 +26,7 @@
fidl::InterfaceRequest<fuchsia::sys::ComponentController> controller);
async_dispatcher_t* dispatcher_;
- std::unique_ptr<component::StartupContext> startup_context_;
+ std::unique_ptr<sys::ComponentContext> component_context_;
fidl::BindingSet<FRunner> bindings_;
fuchsia::sys::LauncherPtr launcher_;
fuchsia::sys::LoaderPtr loader_;
diff --git a/garnet/bin/netemul_runner/sandbox.cc b/garnet/bin/netemul_runner/sandbox.cc
index 2967e2e..d72f56e 100644
--- a/garnet/bin/netemul_runner/sandbox.cc
+++ b/garnet/bin/netemul_runner/sandbox.cc
@@ -6,13 +6,12 @@
#include <fcntl.h>
#include <lib/async/cpp/task.h>
#include <lib/async/default.h>
-#include <lib/component/cpp/startup_context.h>
-#include <lib/component/cpp/testing/test_util.h>
#include <lib/fdio/watcher.h>
#include <lib/fsl/io/fd.h>
#include <lib/fxl/logging.h>
#include <lib/fxl/strings/concatenate.h>
#include <lib/pkg_url/fuchsia_pkg_url.h>
+#include <lib/sys/cpp/service_directory.h>
#include <lib/sys/cpp/termination_reason.h>
#include <zircon/status.h>
#include "garnet/lib/cmx/cmx.h"
@@ -47,9 +46,9 @@
#define ASSERT_HELPER_DISPATCHER ASSERT_DISPATCHER(helper_loop_->dispatcher())
Sandbox::Sandbox(SandboxArgs args) : env_config_(std::move(args.config)) {
- auto startup_context = component::StartupContext::CreateFromStartupInfo();
- startup_context->ConnectToEnvironmentService(parent_env_.NewRequest());
- startup_context->ConnectToEnvironmentService(loader_.NewRequest());
+ auto services = sys::ServiceDirectory::CreateFromNamespace();
+ services->Connect(parent_env_.NewRequest());
+ services->Connect(loader_.NewRequest());
parent_env_.set_error_handler([](zx_status_t err) {
FXL_LOG(ERROR) << "Lost connection to parent environment";
});
diff --git a/garnet/bin/netemul_runner/sandbox_service.cc b/garnet/bin/netemul_runner/sandbox_service.cc
index 99a865f..08bf652 100644
--- a/garnet/bin/netemul_runner/sandbox_service.cc
+++ b/garnet/bin/netemul_runner/sandbox_service.cc
@@ -4,7 +4,7 @@
#include "sandbox_service.h"
#include <lib/async/task.h>
-#include <lib/component/cpp/startup_context.h>
+#include <lib/sys/cpp/service_directory.h>
namespace netemul {
@@ -24,9 +24,8 @@
parent_->BindingClosed(this);
});
- auto startup_context = component::StartupContext::CreateFromStartupInfo();
- startup_context->ConnectToEnvironmentService(
- parent_env_.NewRequest(loop_->dispatcher()));
+ auto services = sys::ServiceDirectory::CreateFromNamespace();
+ services->Connect(parent_env_.NewRequest(loop_->dispatcher()));
parent_env_.set_error_handler([this](zx_status_t err) {
FXL_LOG(ERROR) << "Lost connection to parent environment";
});