Index: device/u2f/u2f_apdu_response.h |
diff --git a/device/u2f/u2f_apdu_response.h b/device/u2f/u2f_apdu_response.h |
index a52faf1e945d24f0a832943e42dd610443ca296f..44bf7d61af1825c75d31a0b838373b67d0de339d 100644 |
--- a/device/u2f/u2f_apdu_response.h |
+++ b/device/u2f/u2f_apdu_response.h |
@@ -5,6 +5,7 @@ |
#ifndef DEVICE_U2F_U2F_APDU_RESPONSE_H_ |
#define DEVICE_U2F_U2F_APDU_RESPONSE_H_ |
+#include <memory> |
#include <vector> |
#include "base/gtest_prod_util.h" |
@@ -15,7 +16,7 @@ namespace device { |
// APDU responses are defined as part of ISO 7816-4. Serialized responses |
// consist of a data field of varying length, up to a maximum 65536, and a |
// two byte status field. |
-class U2fApduResponse : public base::RefCountedThreadSafe<U2fApduResponse> { |
+class U2fApduResponse { |
public: |
// Status bytes are specified in ISO 7816-4 |
enum class Status : uint16_t { |
@@ -24,20 +25,19 @@ class U2fApduResponse : public base::RefCountedThreadSafe<U2fApduResponse> { |
SW_WRONG_DATA = 0x6A80, |
}; |
+ U2fApduResponse(std::vector<uint8_t> message, Status response_status); |
+ ~U2fApduResponse(); |
+ |
// Create a APDU response from the serialized message |
- static scoped_refptr<U2fApduResponse> CreateFromMessage( |
+ static std::unique_ptr<U2fApduResponse> CreateFromMessage( |
const std::vector<uint8_t>& data); |
std::vector<uint8_t> GetEncodedResponse() const; |
const std::vector<uint8_t> data() const { return data_; }; |
Status status() const { return response_status_; }; |
private: |
- friend class base::RefCountedThreadSafe<U2fApduResponse>; |
FRIEND_TEST_ALL_PREFIXES(U2fApduTest, TestDeserializeResponse); |
- U2fApduResponse(std::vector<uint8_t> message, Status response_status); |
- ~U2fApduResponse(); |
- |
Status response_status_; |
std::vector<uint8_t> data_; |
}; |