123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// found in the LICENSE file.
423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
5effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "sync/internal_api/public/events/configure_get_updates_request_event.h"
623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "base/strings/stringprintf.h"
823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "sync/protocol/proto_enum_conversions.h"
923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "sync/protocol/proto_value_conversions.h"
1023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
1123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)namespace syncer {
1223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
1323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)ConfigureGetUpdatesRequestEvent::ConfigureGetUpdatesRequestEvent(
1423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)      base::Time timestamp,
1523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)      sync_pb::SyncEnums::GetUpdatesOrigin origin,
1623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)      const sync_pb::ClientToServerMessage& request)
1723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  : timestamp_(timestamp),
1823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)    origin_(origin),
1923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)    request_(request) { }
2023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
2123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)ConfigureGetUpdatesRequestEvent::~ConfigureGetUpdatesRequestEvent() {}
2223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
2323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)base::Time ConfigureGetUpdatesRequestEvent::GetTimestamp() const {
2423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  return timestamp_;
2523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)}
2623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
2723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)std::string ConfigureGetUpdatesRequestEvent::GetType() const {
2823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  return "Initial GetUpdates";
2923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)}
3023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
3123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)std::string ConfigureGetUpdatesRequestEvent::GetDetails() const {
3223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  return base::StringPrintf("Reason: %s", GetUpdatesOriginString(origin_));
3323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)}
3423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
3523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)scoped_ptr<base::DictionaryValue>
3623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)ConfigureGetUpdatesRequestEvent::GetProtoMessage() const {
3723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  return scoped_ptr<base::DictionaryValue>(
3823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)    ClientToServerMessageToValue(request_, false));
3923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)}
4023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
4123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)scoped_ptr<ProtocolEvent> ConfigureGetUpdatesRequestEvent::Clone() const {
4223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  return scoped_ptr<ProtocolEvent>(
4323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)      new ConfigureGetUpdatesRequestEvent(
4423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)          timestamp_,
4523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)          origin_,
4623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)          request_));
4723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)}
4823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
4923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)}  // namespace syncer
50