// Copyright (c) 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Sync protocol datatype extension for shares of Mountain project.

// If you change or add any fields in this file, update proto_visitors.h and
// potentially proto_enum_conversions.{h, cc}.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package sync_pb;

// Properties of share sync objects.
message MountainShareSpecifics {
  // Share record GUID.
  optional string id = 1;
  optional string url = 2;

  // PNG-encoded content of share node favicon.
  optional bytes favicon = 3;
  optional string title = 4;

  // Time of share node created, as measured by client in milliseconds since
  // Windows epoch.
  optional int64 creation_time_ms = 5;
  optional string icon_url = 6;
}
