Chromium Code Reviews| Index: sync/internal_api/public/base/invalidation.cc |
| diff --git a/sync/internal_api/public/base/invalidation.cc b/sync/internal_api/public/base/invalidation.cc |
| index 472fad2c3c3f2c1d78f0f1a1d348dbfa6bc60aba..791e30551b81714a0c04c2073dcbf0098f9e76c9 100644 |
| --- a/sync/internal_api/public/base/invalidation.cc |
| +++ b/sync/internal_api/public/base/invalidation.cc |
| @@ -64,19 +64,23 @@ AckHandle::AckHandle(const std::string& state, base::Time timestamp) |
| AckHandle::~AckHandle() { |
| } |
| +const int64 Invalidation::kUnknownVersion = -1; |
|
rlarocque
2013/07/16 18:33:16
I wish this wasn't necessary. Looking at the prot
Steve Condie
2013/07/16 21:23:06
Ok. I will be doing that comparison in my code, bu
|
| + |
| Invalidation::Invalidation() |
| - : ack_handle(AckHandle::InvalidAckHandle()) { |
| + : version(kUnknownVersion), ack_handle(AckHandle::InvalidAckHandle()) { |
| } |
| Invalidation::~Invalidation() { |
| } |
| bool Invalidation::Equals(const Invalidation& other) const { |
| - return (payload == other.payload) && ack_handle.Equals(other.ack_handle); |
| + return (version == other.version) && (payload == other.payload) && |
| + ack_handle.Equals(other.ack_handle); |
| } |
| scoped_ptr<base::DictionaryValue> Invalidation::ToValue() const { |
| scoped_ptr<base::DictionaryValue> value(new base::DictionaryValue()); |
| + value->SetString("version", base::Int64ToString(version)); |
| value->SetString("payload", payload); |
| value->Set("ackHandle", ack_handle.ToValue().release()); |
| return value.Pass(); |
| @@ -84,6 +88,11 @@ scoped_ptr<base::DictionaryValue> Invalidation::ToValue() const { |
| bool Invalidation::ResetFromValue(const base::DictionaryValue& value) { |
| const base::DictionaryValue* ack_handle_value = NULL; |
| + std::string version_as_string; |
|
rlarocque
2013/07/16 18:33:16
nit: This function returns false when the parsing
Steve Condie
2013/07/16 21:23:06
Done.
|
| + if (!value.GetString("version", &version_as_string) || |
| + !base::StringToInt64(version_as_string, &version)) { |
| + version = kUnknownVersion; |
| + } |
| return |
| value.GetString("payload", &payload) && |
| value.GetDictionary("ackHandle", &ack_handle_value) && |