diff options
| author | Szczepan Zalega <szczepan.zalega@gmail.com> | 2016-02-20 21:10:48 +0100 | 
|---|---|---|
| committer | Szczepan Zalega <szczepan.zalega@gmail.com> | 2016-02-20 21:10:48 +0100 | 
| commit | 5e6793c09dd1e852a28d2b592ad1139f2c9305ed (patch) | |
| tree | 78629224fbe7c8e7dd68aa9879ed3a43f45131cf /include | |
| parent | f4d89f0893030f0b8827f3be0d07ebd4de89b315 (diff) | |
| download | libnitrokey-5e6793c09dd1e852a28d2b592ad1139f2c9305ed.tar.gz libnitrokey-5e6793c09dd1e852a28d2b592ad1139f2c9305ed.tar.bz2 | |
added const2string temporary conversion code
Diffstat (limited to 'include')
| -rw-r--r-- | include/dissect.h | 25 | 
1 files changed, 23 insertions, 2 deletions
| diff --git a/include/dissect.h b/include/dissect.h index 32df78d..3b347de 100644 --- a/include/dissect.h +++ b/include/dissect.h @@ -32,19 +32,40 @@ public:  	}  }; +  template <CommandID id, class HIDPacket>  class ResponseDissector : semantics::non_constructible {  public:  	static std::string dissect(const HIDPacket &pod) {  		std::stringstream out; + +                std::string status[4]; +                status[0] = " STATUS_READY"; +                status[1]= " STATUS_BUSY"; +                status[2]= " STATUS_ERROR"; +                status[3]= " STATUS_RECEIVED_REPORT"; +                std::string cmd[11]; +                cmd[0]= " CMD_STATUS_OK"; +                cmd[1]= " CMD_STATUS_WRONG_CRC"; +                cmd[2]= " CMD_STATUS_WRONG_SLOT"; +                cmd[3]= " CMD_STATUS_SLOT_NOT_PROGRAMMED"; +                cmd[4]= " CMD_STATUS_WRONG_PASSWORD"; +                cmd[5]= " CMD_STATUS_NOT_AUTHORIZED"; +                cmd[6]= " CMD_STATUS_TIMESTAMP_WARNING"; +                cmd[7]= " CMD_STATUS_NO_NAME_ERROR"; +                cmd[8]= " CMD_STATUS_NOT_SUPPORTED"; +                cmd[9]= " CMD_STATUS_UNKNOWN_COMMAND"; +                cmd[10]= " CMD_STATUS_AES_DEC_FAILED"; +                  +  		out << "Raw HID packet:" << std::endl;  		out << ::nitrokey::misc::hexdump((const char *)(&pod), sizeof pod); -		out << "Device status:\t" << pod.device_status + 0 << std::endl; +		out << "Device status:\t" << pod.device_status + 0<<" "<< cmd[ pod.device_status ] << std::endl;  		out << "Command ID:\t" << commandid_to_string((CommandID)(pod.command_id)) << std::endl;  		out << "Last command CRC:\t" << pod.last_command_crc << std::endl; -		out << "Last command status:\t" << pod.last_command_status + 0 << std::endl; +		out << "Last command status:\t" << pod.last_command_status + 0<<" "<<status[pod.last_command_status] << std::endl;  		out << "CRC:\t" << pod.crc << std::endl;  		out << "Payload:" << std::endl; | 
