Chromium Code Reviews| Index: net/cert/signed_certificate_timestamp.cc |
| diff --git a/net/cert/signed_certificate_timestamp.cc b/net/cert/signed_certificate_timestamp.cc |
| index 8925a994c123ba146f30bfd2bb8c8cd5fa4d975a..ce3b86a1046a6d8d80ff388c2de018560e1f4f38 100644 |
| --- a/net/cert/signed_certificate_timestamp.cc |
| +++ b/net/cert/signed_certificate_timestamp.cc |
| @@ -4,6 +4,8 @@ |
| #include "net/cert/signed_certificate_timestamp.h" |
| +#include "base/pickle.h" |
| + |
| namespace net { |
| namespace ct { |
| @@ -28,6 +30,47 @@ SignedCertificateTimestamp::SignedCertificateTimestamp() {} |
| SignedCertificateTimestamp::~SignedCertificateTimestamp() {} |
| +void SignedCertificateTimestamp::Persist(Pickle* pickle) { |
| + CHECK(pickle->WriteInt(version)); |
| + CHECK(pickle->WriteString(log_id)); |
| + CHECK(pickle->WriteInt64(timestamp.ToInternalValue())); |
| + CHECK(pickle->WriteString(extensions)); |
| + CHECK(pickle->WriteInt(signature.hash_algorithm)); |
| + CHECK(pickle->WriteInt(signature.signature_algorithm)); |
| + CHECK(pickle->WriteString(signature.signature_data)); |
| +} |
| + |
| +// static |
| +scoped_refptr<SignedCertificateTimestamp> |
| +SignedCertificateTimestamp::CreateFromPickle(PickleIterator* iter) { |
| + int version; |
| + std::string log_id; |
| + int64 timestamp; |
| + std::string extensions; |
| + int hash_algorithm; |
| + int sig_algorithm; |
| + std::string sig_data; |
|
wtc
2013/11/28 01:28:02
Remove the local variables log_id, extensions, sig
alcutter
2013/11/28 12:08:19
Sorry, done.
|
| + scoped_refptr<SignedCertificateTimestamp> sct; |
| + // string values are set directly |
| + if (!(iter->ReadInt(&version) && |
| + iter->ReadString(&sct->log_id) && |
| + iter->ReadInt64(×tamp) && |
| + iter->ReadString(&sct->extensions) && |
| + iter->ReadInt(&hash_algorithm) && |
| + iter->ReadInt(&sig_algorithm) && |
| + iter->ReadString(&sct->signature.signature_data))) { |
| + return NULL; |
| + } |
| + // Now set the rest of the member vars: |
|
wtc
2013/11/28 01:28:02
Nit: vars => variables
Our Style Guide seems to r
alcutter
2013/11/28 12:08:19
Done.
|
| + sct->version = static_cast<Version>(version); |
| + sct->timestamp = base::Time::FromInternalValue(timestamp); |
| + sct->signature.hash_algorithm = |
| + static_cast<DigitallySigned::HashAlgorithm>(hash_algorithm); |
| + sct->signature.signature_algorithm = |
| + static_cast<DigitallySigned::SignatureAlgorithm>(sig_algorithm); |
| + return sct; |
| +} |
| + |
| LogEntry::LogEntry() {} |
| LogEntry::~LogEntry() {} |