commit_request_event.h revision e5d81f57cb97b3b6b7fccc9c5610d21eb81db09d
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_COMMIT_REQUEST_EVENT_H 623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#define SYNC_INTERNAL_API_EVENTS_COMMIT_REQUEST_EVENT_H 723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include <cstddef> 923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 1023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "base/memory/scoped_ptr.h" 1123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "base/time/time.h" 1223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "base/values.h" 13e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch#include "sync/base/sync_export.h" 1423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "sync/internal_api/public/base/model_type.h" 1523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "sync/internal_api/public/events/protocol_event.h" 1623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "sync/protocol/sync.pb.h" 1723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 1823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)namespace syncer { 1923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 2023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// An event representing a commit request message sent to the server. 21e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdochclass SYNC_EXPORT_PRIVATE CommitRequestEvent : public ProtocolEvent { 2223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) public: 2323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) CommitRequestEvent( 2423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) base::Time timestamp, 2523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) size_t num_items, 2623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) ModelTypeSet contributing_types, 2723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) const sync_pb::ClientToServerMessage& request); 2823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual ~CommitRequestEvent(); 2923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 3023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual base::Time GetTimestamp() const OVERRIDE; 3123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual std::string GetType() const OVERRIDE; 3223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual std::string GetDetails() const OVERRIDE; 3323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual scoped_ptr<base::DictionaryValue> GetProtoMessage() const OVERRIDE; 3423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual scoped_ptr<ProtocolEvent> Clone() const OVERRIDE; 3523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 3623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) static scoped_ptr<base::DictionaryValue> ToValue( 3723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) const ProtocolEvent& event); 3823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 3923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) private: 4023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) const base::Time timestamp_; 4123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) const size_t num_items_; 4223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) const ModelTypeSet contributing_types_; 4323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) const sync_pb::ClientToServerMessage request_; 4423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 4523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(CommitRequestEvent); 4623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)}; 4723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 4823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)} // namespace syncer 4923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 5023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#endif // SYNC_INTERNAL_API_EVENTS_COMMIT_REQUEST_EVENT_H 51