// Copyright 2015 The Chromium Authors
// 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;
  optional int32 max_attempts = 10;
}

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