chromium/components/sync/protocol/loopback_server.proto

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Sync protocol for persisting the loopback server state to disk.

syntax = "proto2";

option java_multiple_files = true;
option java_package = "org.chromium.components.sync.protocol";

option optimize_for = LITE_RUNTIME;

package sync_pb;

import "components/sync/protocol/sync_entity.proto";

// Serialization of the LoopbackServerEntity and its ancestors.
message LoopbackServerEntity {
  // Entity type mapping to one of the subclasses of LoopbackServerEntity.
  enum Type {
    UNKNOWN = 0;
    BOOKMARK = 1;
    PERMANENT = 2;
    TOMBSTONE = 3;
    UNIQUE = 4;
  }

  optional Type type = 1;
  optional SyncEntity entity = 2;
  optional int64 data_type = 3;
}

// Contains the loopback server state.
message LoopbackServerProto {
  // The protocol buffer format version.
  optional int64 version = 1;

  optional int64 store_birthday = 2;

  repeated LoopbackServerEntity entities = 3;

  // All Keystore keys known to the server.
  repeated bytes keystore_keys = 4;

  // The last entity ID that was assigned to an entity.
  optional int64 last_version_assigned = 5;
}