blob: ef871a4e563044abd8a7ceb41a387a5b86046774 [file] [log] [blame]
// Copyright 2016 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "peridot/lib/environment_host/maxwell_service_provider_bridge.h"
#include <fuchsia/cpp/component.h>
#include "lib/app/cpp/connect.h"
namespace maxwell {
namespace {
// TODO(abarth): Get this constant from a generated header once netstack uses
// FIDL.
constexpr char kNetstack[] = "net.Netstack";
} // namespace
MaxwellServiceProviderBridge::MaxwellServiceProviderBridge(
component::ApplicationEnvironment* parent_env) {
AddService<component::ApplicationLoader>(
[parent_env](
fidl::InterfaceRequest<component::ApplicationLoader> request) {
component::ServiceProviderPtr services;
parent_env->GetServices(services.NewRequest());
component::ConnectToService(services.get(), std::move(request));
});
AddServiceForName(
[parent_env](zx::channel request) {
component::ServiceProviderPtr services;
parent_env->GetServices(services.NewRequest());
services->ConnectToService(kNetstack, std::move(request));
},
kNetstack);
}
} // namespace maxwell