// Copyright 2015 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.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package content;

enum SyncNetworkState {
  NETWORK_STATE_ANY = 0;
  NETWORK_STATE_AVOID_CELLULAR = 1;
  NETWORK_STATE_ONLINE = 2;
}

message PeriodicSyncOptions {
  optional int64 min_interval = 1;
}

message BackgroundSyncRegistrationProto {
  // required int64 id = 1;
  required string tag = 2;
  // required SyncPeriodicity periodicity = 3;
  // required int64 min_period = 4;
  // required SyncNetworkState network_state = 5;
  // required SyncPowerState power_state = 6;
  required int32 num_attempts = 7;
  required int64 delay_until = 8;
  optional PeriodicSyncOptions periodic_sync_options = 9;
}

message BackgroundSyncRegistrationsProto {
  repeated BackgroundSyncRegistrationProto registration = 1;
  // required int64 next_registration_id = 2;
  required string origin = 3;
}