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) 523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#ifndef SYNC_INTERNAL_API_EVENTS_GET_UPDATES_RESPONSE_EVENT_H 623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#define SYNC_INTERNAL_API_EVENTS_GET_UPDATES_RESPONSE_EVENT_H 723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "base/memory/scoped_ptr.h" 923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "base/time/time.h" 1023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "base/values.h" 11e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch#include "sync/base/sync_export.h" 1223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "sync/internal_api/public/events/protocol_event.h" 1323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "sync/internal_api/public/util/syncer_error.h" 1423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "sync/protocol/sync.pb.h" 1523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 1623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)namespace syncer { 1723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 1823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// An event representing a GetUpdates response event from the server. 1923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// 2023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// Unlike the events for the request message, the response events are generic 2123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// and do not vary for each type of GetUpdate cycle. 22e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdochclass SYNC_EXPORT_PRIVATE GetUpdatesResponseEvent : public ProtocolEvent { 2323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) public: 2423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) GetUpdatesResponseEvent( 2523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) base::Time timestamp, 2623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) const sync_pb::ClientToServerResponse& response, 2723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) SyncerError error); 2823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 2923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual ~GetUpdatesResponseEvent(); 3023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 3123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual base::Time GetTimestamp() const OVERRIDE; 3223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual std::string GetType() const OVERRIDE; 3323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual std::string GetDetails() const OVERRIDE; 3423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual scoped_ptr<base::DictionaryValue> GetProtoMessage() const OVERRIDE; 3523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual scoped_ptr<ProtocolEvent> Clone() const OVERRIDE; 3623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 3723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) private: 3823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) const base::Time timestamp_; 3923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) const sync_pb::ClientToServerResponse response_; 4023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) const SyncerError error_; 4123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 4223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(GetUpdatesResponseEvent); 4323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)}; 4423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 4523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)} // namespace syncer 4623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 4723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#endif // SYNC_INTERNAL_API_EVENTS_GET_UPDATES_RESPONSE_EVENT_H 48