Mark Welcome Notification as Dismissed if Expiration Time Elapses
[chromium-blink-merge.git] / sync / internal_api / change_record.cc
blob4894b3ce9e24b4da87098ffeab1682dbda183989
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "sync/internal_api/public/change_record.h"
7 #include "base/strings/string_number_conversions.h"
8 #include "base/values.h"
9 #include "sync/internal_api/public/base_node.h"
10 #include "sync/internal_api/public/read_node.h"
11 #include "sync/protocol/proto_value_conversions.h"
13 namespace syncer {
15 ChangeRecord::ChangeRecord()
16 : id(kInvalidId), action(ACTION_ADD) {}
18 ChangeRecord::~ChangeRecord() {}
20 base::DictionaryValue* ChangeRecord::ToValue() const {
21 base::DictionaryValue* value = new base::DictionaryValue();
22 std::string action_str;
23 switch (action) {
24 case ACTION_ADD:
25 action_str = "Add";
26 break;
27 case ACTION_DELETE:
28 action_str = "Delete";
29 break;
30 case ACTION_UPDATE:
31 action_str = "Update";
32 break;
33 default:
34 NOTREACHED();
35 action_str = "Unknown";
36 break;
38 value->SetString("action", action_str);
39 value->SetString("id", base::Int64ToString(id));
40 if (action == ACTION_DELETE) {
41 if (extra.get()) {
42 value->Set("extra", extra->ToValue());
44 value->Set("specifics", EntitySpecificsToValue(specifics));
46 return value;
49 ExtraPasswordChangeRecordData::ExtraPasswordChangeRecordData() {}
51 ExtraPasswordChangeRecordData::ExtraPasswordChangeRecordData(
52 const sync_pb::PasswordSpecificsData& data)
53 : unencrypted_(data) {
56 ExtraPasswordChangeRecordData::~ExtraPasswordChangeRecordData() {}
58 base::DictionaryValue* ExtraPasswordChangeRecordData::ToValue() const {
59 return PasswordSpecificsDataToValue(unencrypted_);
62 const sync_pb::PasswordSpecificsData&
63 ExtraPasswordChangeRecordData::unencrypted() const {
64 return unencrypted_;
67 } // namespace syncer