blob: 68035b4220e7a81a87fb44d53fb99ad848995f2e [file] [log] [blame]
// Copyright 2019 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.
#ifndef SRC_UI_TOOLS_PRINT_INPUT_REPORT_DEVICES_H_
#define SRC_UI_TOOLS_PRINT_INPUT_REPORT_DEVICES_H_
#include <fidl/fuchsia.input.report/cpp/wire.h>
#include <lib/zx/result.h>
#include "src/ui/tools/print-input-report/printer.h"
namespace print_input_report {
zx::result<fidl::WireSharedClient<fuchsia_input_report::InputReportsReader>> GetReaderClient(
fidl::WireSharedClient<fuchsia_input_report::InputDevice>* client,
async_dispatcher_t* dispatcher);
zx_status_t PrintFeatureReports(
std::string filename, Printer* printer,
fidl::WireSharedClient<fuchsia_input_report::InputDevice> client,
fit::closure callback = [] {});
zx_status_t PrintInputDescriptor(
std::string filename, Printer* printer,
fidl::WireSharedClient<fuchsia_input_report::InputDevice> client,
fit::closure callback = [] {});
void PrintInputReports(
std::string filename, Printer* printer,
fidl::WireSharedClient<fuchsia_input_report::InputReportsReader> reader, size_t num_reads,
fit::closure callback = [] {});
void GetAndPrintInputReport(
std::string filename, fuchsia_input_report::wire::DeviceType device_type, Printer* printer,
fidl::WireSharedClient<fuchsia_input_report::InputDevice> client,
fit::closure callback = [] {});
void PrintDeviceInfo(Printer* printer,
const fuchsia_input_report::wire::DeviceInformation& device_info);
void PrintMouseDesc(Printer* printer,
const fuchsia_input_report::wire::MouseInputDescriptor& mouse_desc);
void PrintMouseInputReport(Printer* printer,
const fuchsia_input_report::wire::MouseInputReport& mouse_report);
void PrintSensorDesc(Printer* printer,
const fuchsia_input_report::wire::SensorInputDescriptor& sensor_desc);
void PrintSensorInputReport(Printer* printer,
const fuchsia_input_report::wire::SensorInputReport& sensor_report);
void PrintTouchDesc(Printer* printer,
const fuchsia_input_report::wire::TouchDescriptor& touch_desc);
void PrintTouchInputReport(Printer* printer,
const fuchsia_input_report::wire::TouchInputReport& touch_report);
void PrintKeyboardDesc(Printer* printer,
const fuchsia_input_report::wire::KeyboardDescriptor& keyboard_desc);
void PrintKeyboardInputReport(
Printer* printer, const fuchsia_input_report::wire::KeyboardInputReport& keyboard_report);
void PrintConsumerControlDesc(
Printer* printer, const fuchsia_input_report::wire::ConsumerControlDescriptor& descriptor);
void PrintConsumerControlInputReport(
Printer* printer, const fuchsia_input_report::wire::ConsumerControlInputReport& report);
} // namespace print_input_report
#endif // SRC_UI_TOOLS_PRINT_INPUT_REPORT_DEVICES_H_