aboutsummaryrefslogtreecommitdiff
path: root/src/device/device.hpp
diff options
context:
space:
mode:
authorDusan Klinec <dusan.klinec@gmail.com>2018-11-11 20:07:25 +0100
committerDusan Klinec <dusan.klinec@gmail.com>2018-11-29 04:33:41 +0100
commit318cc78457136ec778d6dff43b36f9447d95a43d (patch)
tree940b10195714d689ac6eb0feebd6b18757f0f57f /src/device/device.hpp
parentMerge pull request #4821 (diff)
downloadmonero-318cc78457136ec778d6dff43b36f9447d95a43d.tar.xz
device/trezor: passphrase entry on host
- simple device callback object added. Device can request passphrase/PIN entry via the callback or notify user some action is required - callback is routed to wallet2, which routes the callback to i_wallet_callback so CLI or GUI wallets can support passphrase entry for HW tokens - wallet: device open needs wallet callback first - passphrase protected device needs wallet callback so user can enter passphrase
Diffstat (limited to 'src/device/device.hpp')
-rw-r--r--src/device/device.hpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/device/device.hpp b/src/device/device.hpp
index dd9ad4332..3e782d21a 100644
--- a/src/device/device.hpp
+++ b/src/device/device.hpp
@@ -80,6 +80,14 @@ namespace hw {
return false;
}
+ class i_device_callback {
+ public:
+ virtual void on_button_request() {}
+ virtual void on_pin_request(epee::wipeable_string & pin) {}
+ virtual void on_passphrase_request(bool on_device, epee::wipeable_string & passphrase) {}
+ virtual ~i_device_callback() = default;
+ };
+
class device {
protected:
std::string name;
@@ -129,6 +137,7 @@ namespace hw {
virtual device_type get_type() const = 0;
virtual device_protocol_t device_protocol() const { return PROTOCOL_DEFAULT; };
+ virtual void set_callback(i_device_callback * callback) {};
/* ======================================================================= */
/* LOCKER */