// Copyright 2013 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 managed user shared settings.

// Update proto_value_conversions{.h,.cc,_unittest.cc} if you change
// any fields in this file.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;
option retain_unknown_fields = true;

package sync_pb;

// Properties of managed user shared setting sync objects.
message ManagedUserSharedSettingSpecifics {
  // The MU ID for the managed user to whom the setting applies.
  optional string mu_id = 1;
  // The key of the setting.
  optional string key = 2;
  // The setting value. The setting is a JSON encoding of an arbitrary
  // Javascript value.
  optional string value = 3;
  // This flag is set by the server to acknowledge that it has committed a
  // change to a setting.
  optional bool acknowledged = 4 [default = false];
}
