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. 4 5 #ifndef SYNC_INTERNAL_API_EVENTS_NORMAL_GET_UPDATES_REQUEST_H 6 #define SYNC_INTERNAL_API_EVENTS_NORMAL_GET_UPDATES_REQUEST_H 7 8 #include "base/memory/scoped_ptr.h" 9 #include "base/time/time.h" 10 #include "base/values.h" 11 #include "sync/base/sync_export.h" 12 #include "sync/internal_api/public/base/model_type.h" 13 #include "sync/internal_api/public/events/protocol_event.h" 14 #include "sync/protocol/sync.pb.h" 15 16 namespace syncer { 17 18 namespace sessions { 19 class NudgeTracker; 20 } // namespace sessions 21 22 // An event representing a 'normal mode' GetUpdate request to the server. 23 class SYNC_EXPORT_PRIVATE NormalGetUpdatesRequestEvent : public ProtocolEvent { 24 public: 25 NormalGetUpdatesRequestEvent( 26 base::Time timestamp, 27 const sessions::NudgeTracker& nudge_tracker, 28 const sync_pb::ClientToServerMessage& request); 29 30 virtual ~NormalGetUpdatesRequestEvent(); 31 32 virtual base::Time GetTimestamp() const OVERRIDE; 33 virtual std::string GetType() const OVERRIDE; 34 virtual std::string GetDetails() const OVERRIDE; 35 virtual scoped_ptr<base::DictionaryValue> GetProtoMessage() const OVERRIDE; 36 virtual scoped_ptr<ProtocolEvent> Clone() const OVERRIDE; 37 38 private: 39 NormalGetUpdatesRequestEvent( 40 base::Time timestamp, 41 ModelTypeSet nudged_types, 42 ModelTypeSet notified_types, 43 ModelTypeSet refresh_requested_types, 44 bool is_retry, 45 sync_pb::ClientToServerMessage request); 46 47 const base::Time timestamp_; 48 49 const ModelTypeSet nudged_types_; 50 const ModelTypeSet notified_types_; 51 const ModelTypeSet refresh_requested_types_; 52 const bool is_retry_; 53 54 const sync_pb::ClientToServerMessage request_; 55 56 DISALLOW_COPY_AND_ASSIGN(NormalGetUpdatesRequestEvent); 57 }; 58 59 } 60 61 #endif // SYNC_INTERNAL_API_EVENTS_NORMAL_GET_UPDATES_REQUEST_H 62