blob: c0eaa12872664615fe3fd8512127a71fdbea5194 [file] [log] [blame]
// Copyright 2018 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/bin/ledger/testing/netconnector/fake_netconnector.h"
namespace ledger {
FakeNetConnector::FakeNetConnector(Delegate* delegate) : delegate_(delegate) {}
void FakeNetConnector::ConnectToServiceProvider(
fidl::InterfaceRequest<fuchsia::sys::ServiceProvider> request) {
service_provider_impl_.AddBinding(std::move(request));
}
void FakeNetConnector::RegisterServiceProvider(
std::string name,
fidl::InterfaceHandle<fuchsia::sys::ServiceProvider> service_provider) {
fuchsia::sys::ServiceProviderPtr service_provider_ptr =
service_provider.Bind();
service_provider_impl_.AddServiceForName(
[name, service_provider_ptr =
std::move(service_provider_ptr)](zx::channel channel) {
service_provider_ptr->ConnectToService(name, std::move(channel));
},
name);
}
void FakeNetConnector::GetDeviceServiceProvider(
std::string device_name,
fidl::InterfaceRequest<fuchsia::sys::ServiceProvider> service_provider) {
delegate_->ConnectToServiceProvider(device_name, std::move(service_provider));
}
void FakeNetConnector::GetKnownDeviceNames(
uint64_t version_last_seen, GetKnownDeviceNamesCallback callback) {
delegate_->GetDevicesNames(version_last_seen, std::move(callback));
}
} // namespace ledger