| Index: device/u2f/u2f_packet.h
|
| diff --git a/device/u2f/u2f_packet.h b/device/u2f/u2f_packet.h
|
| index 97fd1156a0566bcd1ed7ae3a5808aa5d07406e9c..ee023b612d2b60c05c821b0a0d1a4dfcc3b15cf3 100644
|
| --- a/device/u2f/u2f_packet.h
|
| +++ b/device/u2f/u2f_packet.h
|
| @@ -25,10 +25,10 @@ namespace device {
|
| // payload information is stored in U2fContinuationPackets.
|
| class U2fPacket {
|
| public:
|
| - U2fPacket(const std::vector<uint8_t> data, uint32_t channel_id);
|
| + U2fPacket(const std::vector<uint8_t>& data, uint32_t channel_id);
|
| virtual ~U2fPacket();
|
|
|
| - scoped_refptr<net::IOBufferWithSize> GetSerializedBuffer();
|
| + virtual scoped_refptr<net::IOBufferWithSize> GetSerializedData() = 0;
|
| std::vector<uint8_t> GetPacketPayload() const;
|
| uint32_t channel_id() { return channel_id_; }
|
|
|
| @@ -39,7 +39,6 @@ class U2fPacket {
|
| static constexpr size_t kPacketSize = 65;
|
| std::vector<uint8_t> data_;
|
| uint32_t channel_id_;
|
| - scoped_refptr<net::IOBufferWithSize> serialized_;
|
|
|
| private:
|
| friend class U2fMessage;
|
| @@ -55,10 +54,9 @@ class U2fInitPacket : public U2fPacket {
|
| public:
|
| U2fInitPacket(uint32_t channel_id,
|
| uint8_t cmd,
|
| - const std::vector<uint8_t> data,
|
| + const std::vector<uint8_t>& data,
|
| uint16_t payload_length);
|
| - U2fInitPacket(scoped_refptr<net::IOBufferWithSize> buf,
|
| - size_t* remaining_size);
|
| + U2fInitPacket(const std::vector<uint8_t>& serialized, size_t* remaining_size);
|
| ~U2fInitPacket() final;
|
|
|
| // Creates a packet from the serialized data of an initialization packet. As
|
| @@ -66,8 +64,9 @@ class U2fInitPacket : public U2fPacket {
|
| // included within the serialized data. Remaining size will be returned to
|
| // inform the callee how many additional packets to expect.
|
| static std::unique_ptr<U2fInitPacket> CreateFromSerializedData(
|
| - scoped_refptr<net::IOBufferWithSize> buf,
|
| + const std::vector<uint8_t>& serialized,
|
| size_t* remaining_size);
|
| + scoped_refptr<net::IOBufferWithSize> GetSerializedData() final;
|
| uint8_t command() { return command_; }
|
| uint16_t payload_length() { return payload_length_; }
|
|
|
| @@ -83,10 +82,10 @@ class U2fInitPacket : public U2fPacket {
|
| // 0x00 to 0x7f.
|
| class U2fContinuationPacket : public U2fPacket {
|
| public:
|
| - U2fContinuationPacket(const uint32_t channel_id,
|
| - const uint8_t sequence,
|
| - std::vector<uint8_t> data);
|
| - U2fContinuationPacket(scoped_refptr<net::IOBufferWithSize> buf,
|
| + U2fContinuationPacket(uint32_t channel_id,
|
| + uint8_t sequence,
|
| + const std::vector<uint8_t>& data);
|
| + U2fContinuationPacket(const std::vector<uint8_t>& serialized,
|
| size_t* remaining_size);
|
| ~U2fContinuationPacket() final;
|
|
|
| @@ -95,8 +94,9 @@ class U2fContinuationPacket : public U2fPacket {
|
| // the remaining size should be passed to inform the packet of how much data
|
| // to expect.
|
| static std::unique_ptr<U2fContinuationPacket> CreateFromSerializedData(
|
| - scoped_refptr<net::IOBufferWithSize> buf,
|
| + const std::vector<uint8_t>& serialized,
|
| size_t* remaining_size);
|
| + scoped_refptr<net::IOBufferWithSize> GetSerializedData() final;
|
| uint8_t sequence() { return sequence_; }
|
|
|
| private:
|
|
|