blob: 33fc5563411c966a85002f50f6d25a639348cae0 [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 "src/ledger/bin/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