| // Copyright 2020 The Chromium OS 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 LIBEC_FINGERPRINT_FP_INFO_COMMAND_H_ |
| #define LIBEC_FINGERPRINT_FP_INFO_COMMAND_H_ |
| |
| #include <memory> |
| |
| #include <brillo/brillo_export.h> |
| |
| #include "libec/ec_command.h" |
| #include "libec/ec_command_async.h" |
| #include "libec/fingerprint/fp_sensor_errors.h" |
| #include "libec/fingerprint/sensor_id.h" |
| #include "libec/fingerprint/sensor_image.h" |
| #include "libec/fingerprint/template_info.h" |
| |
| namespace ec { |
| |
| class BRILLO_EXPORT FpInfoCommand |
| : public EcCommand<EmptyParam, struct ec_response_fp_info> { |
| public: |
| static constexpr int kDeadPixelsUnknown = -1; |
| |
| FpInfoCommand() : EcCommand(EC_CMD_FP_INFO, kVersionOne) {} |
| ~FpInfoCommand() override = default; |
| |
| SensorId* sensor_id(); |
| SensorImage* sensor_image(); |
| TemplateInfo* template_info(); |
| int NumDeadPixels(); |
| FpSensorErrors GetFpSensorErrors(); |
| |
| private: |
| std::unique_ptr<SensorId> sensor_id_; |
| std::unique_ptr<SensorImage> sensor_image_; |
| std::unique_ptr<TemplateInfo> template_info_; |
| }; |
| |
| } // namespace ec |
| |
| #endif // LIBEC_FINGERPRINT_FP_INFO_COMMAND_H_ |