blob: 50863e913869926f674f9bdf5e8b42343c9daf3e [file] [log] [blame]
// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/sync/engine/events/commit_response_event.h"
#include "base/values.h"
#include "components/sync/protocol/proto_value_conversions.h"
namespace syncer {
CommitResponseEvent::CommitResponseEvent(
base::Time timestamp,
SyncerError result,
const sync_pb::ClientToServerResponse& response)
: timestamp_(timestamp), result_(result), response_(response) {}
CommitResponseEvent::~CommitResponseEvent() = default;
std::unique_ptr<ProtocolEvent> CommitResponseEvent::Clone() const {
return std::make_unique<CommitResponseEvent>(timestamp_, result_, response_);
}
base::Time CommitResponseEvent::GetTimestamp() const {
return timestamp_;
}
std::string CommitResponseEvent::GetType() const {
return "Commit Response";
}
std::string CommitResponseEvent::GetDetails() const {
return "Result: " + result_.ToString();
}
base::Value::Dict CommitResponseEvent::GetProtoMessage(
bool include_specifics) const {
return ClientToServerResponseToValue(
response_, {.include_specifics = include_specifics,
.include_full_get_update_triggers = false})
.TakeDict();
}
} // namespace syncer