1 // Copyright 2014 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/events/normal_get_updates_request_event.h"
7 #include "base/strings/stringprintf.h"
8 #include "sync/protocol/proto_value_conversions.h"
9 #include "sync/sessions/nudge_tracker.h"
13 NormalGetUpdatesRequestEvent::NormalGetUpdatesRequestEvent(
15 const sessions::NudgeTracker
& nudge_tracker
,
16 const sync_pb::ClientToServerMessage
& request
)
17 : timestamp_(timestamp
),
18 nudged_types_(nudge_tracker
.GetNudgedTypes()),
19 notified_types_(nudge_tracker
.GetNotifiedTypes()),
20 refresh_requested_types_(nudge_tracker
.GetRefreshRequestedTypes()),
21 is_retry_(nudge_tracker
.IsRetryRequired()),
24 NormalGetUpdatesRequestEvent::~NormalGetUpdatesRequestEvent() {}
26 base::Time
NormalGetUpdatesRequestEvent::GetTimestamp() const {
30 std::string
NormalGetUpdatesRequestEvent::GetType() const {
31 return "Normal GetUpdate request";
34 std::string
NormalGetUpdatesRequestEvent::GetDetails() const {
37 if (!nudged_types_
.Empty()) {
40 details
.append(base::StringPrintf(
42 ModelTypeSetToString(nudged_types_
).c_str()));
45 if (!notified_types_
.Empty()) {
48 details
.append(base::StringPrintf(
50 ModelTypeSetToString(notified_types_
).c_str()));
53 if (!refresh_requested_types_
.Empty()) {
56 details
.append(base::StringPrintf(
57 "Refresh requested types: %s",
58 ModelTypeSetToString(refresh_requested_types_
).c_str()));
64 details
.append(base::StringPrintf("Is retry: True"));
70 scoped_ptr
<base::DictionaryValue
>
71 NormalGetUpdatesRequestEvent::GetProtoMessage() const {
72 return scoped_ptr
<base::DictionaryValue
>(
73 ClientToServerMessageToValue(request_
, false));
76 scoped_ptr
<ProtocolEvent
> NormalGetUpdatesRequestEvent::Clone() const {
77 return scoped_ptr
<ProtocolEvent
>(
78 new NormalGetUpdatesRequestEvent(
82 refresh_requested_types_
,
87 NormalGetUpdatesRequestEvent::NormalGetUpdatesRequestEvent(
89 ModelTypeSet nudged_types
,
90 ModelTypeSet notified_types
,
91 ModelTypeSet refresh_requested_types
,
93 sync_pb::ClientToServerMessage request
)
94 : timestamp_(timestamp
),
95 nudged_types_(nudged_types
),
96 notified_types_(notified_types
),
97 refresh_requested_types_(refresh_requested_types
),