blob: 3b11defa678a15aa65ce3203ed1350fdcb27eab3 [file] [log] [blame]
// Copyright 2017 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/ui/testing/mock_input_device_registry.h"
namespace ui_input {
namespace test {
MockInputDeviceRegistry::MockInputDeviceRegistry(OnDeviceCallback on_device_callback,
OnReportCallback on_report_callback)
: on_device_callback_(std::move(on_device_callback)),
on_report_callback_(std::move(on_report_callback)) {}
MockInputDeviceRegistry::~MockInputDeviceRegistry() {}
void MockInputDeviceRegistry::RegisterDevice(
fuchsia::ui::input::DeviceDescriptor descriptor,
fidl::InterfaceRequest<fuchsia::ui::input::InputDevice> input_device_request) {
uint32_t device_id = ++next_device_token_;
std::unique_ptr<MockInputDevice> input_device = std::make_unique<MockInputDevice>(
device_id, std::move(descriptor), std::move(input_device_request),
on_report_callback_.share());
MockInputDevice* input_device_ptr = input_device.get();
devices_by_id_.emplace(device_id, std::move(input_device));
if (on_device_callback_)
on_device_callback_(input_device_ptr);
}
} // namespace test
} // namespace ui_input