Index: services/device/fingerprint/fingerprint_impl_chromeos.h |
diff --git a/services/device/fingerprint/fingerprint_impl_chromeos.h b/services/device/fingerprint/fingerprint_impl_chromeos.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b092d6f648d9c8120ddc586c121fbc8cf5f71f45 |
--- /dev/null |
+++ b/services/device/fingerprint/fingerprint_impl_chromeos.h |
@@ -0,0 +1,80 @@ |
+// Copyright 2017 The Chromium 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 SERVICES_DEVICE_FINGERPRINT_FINGERPRINT_IMPL_CHROMEOS_H_ |
+#define SERVICES_DEVICE_FINGERPRINT_FINGERPRINT_IMPL_CHROMEOS_H_ |
+ |
+#include <stdint.h> |
+ |
+#include "base/macros.h" |
+#include "dbus/object_path.h" |
stevenjb
2017/02/22 16:32:21
You should be able to forward declare ObjectPath a
xiaoyinh(OOO Sep 11-29)
2017/02/22 21:03:17
Done.
|
+#include "services/device/public/interfaces/fingerprint.mojom.h" |
+ |
+namespace device { |
+ |
+// Implementation of Fingerprint interface for ChromeOS platform. |
+// This is used to connect to biod(through dbus) and perform fingerprint related |
+// operations. It will also observe signals from biod. |
blundell
2017/02/22 15:20:06
nit: s/will also observe/observes
xiaoyinh(OOO Sep 11-29)
2017/02/22 21:03:17
Done.
|
+class FingerprintImplChromeOS : public mojom::Fingerprint { |
+ public: |
+ explicit FingerprintImplChromeOS(); |
+ ~FingerprintImplChromeOS() override; |
+ |
+ // mojom::Fingerprint: |
+ void GetFingerprintsList( |
+ const GetFingerprintsListCallback& callback) override; |
+ void StartEnroll(const std::string& user_id, |
+ const std::string& label) override; |
+ void CancelCurrentEnroll() override; |
+ void GetLabel(int32_t index, const GetLabelCallback& callback) override; |
+ void SetLabel(const std::string& label, int32_t index) override; |
+ void RemoveEnrollment(int32_t index) override; |
+ void StartAuthentication() override; |
+ void EndCurrentAuthentication() override; |
+ void DestroyAllEnrollments() override; |
+ void AddBiodObserver(mojom::BiodObserverPtr observer) override; |
+ |
+ private: |
+ friend class FingerprintImplChromeOSTest; |
+ |
+ void BiodBiometricClientRestarted(); |
+ void BiometricsScanEventReceived(uint32_t scan_result, bool is_complete); |
+ void BiometricsAttemptEventReceived( |
+ uint32_t scan_result, |
+ const std::vector<std::string>& recognized_user_ids); |
+ void BiometricsFailureReceived(); |
+ |
+ void OnBiodObserverDisconnected(mojom::BiodObserver* observer); |
+ void OnStartEnroll(const dbus::ObjectPath& enroll_path); |
+ void OnStartAuthentication(const dbus::ObjectPath& auth_path); |
+ void OnGetFingerprintsList( |
+ const GetFingerprintsListCallback& callback, |
+ const std::vector<dbus::ObjectPath>& enrollment_paths); |
+ void OnGetLabelFromEnrollmentPath(const GetFingerprintsListCallback& callback, |
+ size_t num_enrollments, |
+ std::vector<std::string>* out_labels, |
+ const std::string& label); |
+ |
+ void OnGetLabel(int32_t index, |
+ const GetLabelCallback& callback, |
+ const std::vector<dbus::ObjectPath>& enrollment_paths); |
+ void OnSetLabel(const std::string& new_label, |
+ int index, |
+ const std::vector<dbus::ObjectPath>& enrollment_paths); |
+ void OnRemoveEnrollment( |
+ int index, |
+ const std::vector<dbus::ObjectPath>& enrollment_paths); |
+ |
+ std::vector<mojom::BiodObserverPtr> observers_; |
+ std::unique_ptr<dbus::ObjectPath> current_enroll_path_; |
+ std::unique_ptr<dbus::ObjectPath> current_auth_path_; |
+ |
+ base::WeakPtrFactory<FingerprintImplChromeOS> weak_ptr_factory_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(FingerprintImplChromeOS); |
+}; |
+ |
+} // namespace device |
+ |
+#endif // SERVICES_DEVICE_FINGERPRINT_FINGERPRINT_IMPL_CHROMEOS_H_ |