aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSzczepan Zalega <szczepan@nitrokey.com>2017-03-29 12:22:37 +0200
committerSzczepan Zalega <szczepan@nitrokey.com>2017-03-29 12:49:14 +0200
commitc196b45789377dc2cb76a203853695928872dbb4 (patch)
treebaa78ecddf5e0a8f5ab7485227aa6706d407cfd5 /include
parent887929bfdefd5894bce2de6821a948b205915fcc (diff)
downloadlibnitrokey-c196b45789377dc2cb76a203853695928872dbb4.tar.gz
libnitrokey-c196b45789377dc2cb76a203853695928872dbb4.tar.bz2
Allow to change device commands delays runtime
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
Diffstat (limited to 'include')
-rw-r--r--include/NitrokeyManager.h2
-rw-r--r--include/device.h12
2 files changed, 12 insertions, 2 deletions
diff --git a/include/NitrokeyManager.h b/include/NitrokeyManager.h
index 4f11314..9afe995 100644
--- a/include/NitrokeyManager.h
+++ b/include/NitrokeyManager.h
@@ -45,6 +45,7 @@ namespace nitrokey {
bool disconnect();
bool is_connected() throw() ;
bool could_current_device_be_enumerated();
+ bool set_default_commands_delay(int delay);
DeviceModel get_connected_device_model() const;
void set_debug(bool state);
@@ -169,6 +170,7 @@ namespace nitrokey {
bool _disconnect_no_lock();
+ bool set_current_device_speed(int retry_delay, int send_receive_delay);
};
}
diff --git a/include/device.h b/include/device.h
index 7b300e5..674d66b 100644
--- a/include/device.h
+++ b/include/device.h
@@ -96,6 +96,11 @@ public:
void set_last_command_status(uint8_t _err) { last_command_status = _err;} ;
bool last_command_sucessfull() const {return last_command_status == 0;};
DeviceModel get_device_model() const {return m_model;}
+ void set_receiving_delay(std::chrono::milliseconds delay);
+ void set_retry_delay(std::chrono::milliseconds delay);
+ static void set_default_device_speed(int delay);
+ void setDefaultDelay();
+
private:
std::atomic<uint8_t> last_command_status;
void _reconnect();
@@ -114,18 +119,21 @@ protected:
*/
const int m_retry_sending_count;
const int m_retry_receiving_count;
- const std::chrono::milliseconds m_retry_timeout;
- const std::chrono::milliseconds m_send_receive_delay;
+ std::chrono::milliseconds m_retry_timeout;
+ std::chrono::milliseconds m_send_receive_delay;
std::atomic<hid_device *>mp_devhandle;
static std::atomic_int instances_count;
+
+ static std::chrono::milliseconds default_delay ;
};
class Stick10 : public Device {
public:
Stick10();
+
};
class Stick20 : public Device {