chromium/components/sync/engine/events/protocol_event.h

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_SYNC_ENGINE_EVENTS_PROTOCOL_EVENT_H_
#define COMPONENTS_SYNC_ENGINE_EVENTS_PROTOCOL_EVENT_H_

#include <memory>
#include <string>

#include "base/time/time.h"
#include "base/values.h"

namespace syncer {

// SyncNetworkEvents represent a single client <-> server sync protocol event
// that recently took place. Sync protocol events occur when the client decides
// to send a sync protocol request (such as GetUpdates or Commit) to the server,
// and when the server responds. Note that the requests and responses themselves
// are modelled by {GetUpdates, Commit}x{Request,Response} objects.
//
// These objects are intended to be used for displaying information on
// chrome://sync-internals.  They should be considered to be immutable and
// opaque.  No program behavior should depend on their contents.
//
// Each type of request can maintain its own set of additional metadata and have
// its own custom serialization routines.  For example, the "configure"
// GetUpdates request will include information about its "origin" in its debug
// info.
class ProtocolEvent {};

}  // namespace syncer

#endif  // COMPONENTS_SYNC_ENGINE_EVENTS_PROTOCOL_EVENT_H_