aboutsummaryrefslogtreecommitdiff
path: root/src/device/device_io_hid.hpp
diff options
context:
space:
mode:
authorxiphon <xiphon@protonmail.com>2018-10-18 03:33:42 +0000
committerxiphon <xiphon@protonmail.com>2018-10-18 17:53:06 +0300
commit25d327e796e60b2dceab4aeab26fbc4edf7a5537 (patch)
treed9f617cabd64b5bc35573c205b100f6695b02baf /src/device/device_io_hid.hpp
parentdevice: fixed Ledger Nano S device selection (diff)
downloadmonero-25d327e796e60b2dceab4aeab26fbc4edf7a5537.tar.xz
device: extended logging, refactored device selection code
Diffstat (limited to 'src/device/device_io_hid.hpp')
-rw-r--r--src/device/device_io_hid.hpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/device/device_io_hid.hpp b/src/device/device_io_hid.hpp
index ffd3f534f..bb0f0a814 100644
--- a/src/device/device_io_hid.hpp
+++ b/src/device/device_io_hid.hpp
@@ -29,6 +29,7 @@
#if defined(HAVE_HIDAPI)
+#include <boost/optional/optional.hpp>
#include <hidapi/hidapi.h>
#include "device_io.hpp"
@@ -54,7 +55,6 @@ namespace hw {
unsigned int pid;
int interface_number;
unsigned short usage_page;
- bool interface_OR_page ;
};
@@ -82,13 +82,11 @@ namespace hw {
unsigned int wrapCommand(const unsigned char *command, size_t command_len, unsigned char *out, size_t out_len);
unsigned int unwrapReponse(const unsigned char *data, size_t data_len, unsigned char *out, size_t out_len);
+ hid_device_info *find_device(hid_device_info *devices_list, boost::optional<int> interface_number, boost::optional<unsigned short> usage_page);
public:
bool hid_verbose = false;
- static const unsigned int OR_SELECT = 1;
- static const unsigned int AND_SELECT = 2;
-
static const unsigned short DEFAULT_CHANNEL = 0x0001;
static const unsigned char DEFAULT_TAG = 0x01;
static const unsigned int DEFAULT_PACKET_SIZE = 64;
@@ -100,7 +98,7 @@ namespace hw {
void init();
void connect(void *params);
- void connect(unsigned int vid, unsigned int pid, int interface_number, unsigned short usage_page, bool interface_OR_page );
+ void connect(unsigned int vid, unsigned int pid, boost::optional<int> interface_number, boost::optional<unsigned short> usage_page);
bool connected() const;
int exchange(unsigned char *command, unsigned int cmd_len, unsigned char *response, unsigned int max_resp_len);
void disconnect();