aboutsummaryrefslogtreecommitdiff
path: root/src/device/device.hpp
diff options
context:
space:
mode:
authorDusan Klinec <dusan.klinec@gmail.com>2018-08-24 00:50:31 +0200
committerDusan Klinec <dusan.klinec@gmail.com>2018-09-14 16:02:00 +0200
commitf9b22a7b01994f444185f38fe1f645593590c943 (patch)
tree2b15b82269647a2971d1d803490f057a856bb309 /src/device/device.hpp
parentMerge pull request #4324 (diff)
downloadmonero-f9b22a7b01994f444185f38fe1f645593590c943.tar.xz
hw_device: support for multiple devices added [for review]
- device name is a new wallet property - full device name is now a bit more structured so we can address particular device vendor + device path. Example: 'Ledger', 'Trezor:udp', 'Trezor:udp:127.0.0.1:21324', 'Trezor:bridge:usb01'. The part before ':' identifies HW device implementation, the optional part after ':' is device path to look for. - new --hw-device parameter added to the wallet, can name the hardware device - device reconnect added
Diffstat (limited to '')
-rw-r--r--src/device/device.hpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/device/device.hpp b/src/device/device.hpp
index c21456daf..d14b8848c 100644
--- a/src/device/device.hpp
+++ b/src/device/device.hpp
@@ -202,6 +202,17 @@ namespace hw {
~reset_mode() { hwref.set_mode(hw::device::NONE);}
};
- device& get_device(const std::string device_descriptor) ;
+ class device_registry {
+ private:
+ std::map<std::string, std::unique_ptr<device>> registry;
+
+ public:
+ device_registry();
+ bool register_device(const std::string & device_name, device * hw_device);
+ device& get_device(const std::string & device_descriptor);
+ };
+
+ device& get_device(const std::string & device_descriptor);
+ bool register_device(const std::string & device_name, device * hw_device);
}