910e62b5创建于 1月15日历史提交
// Copyright 2025 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 data_sharing_pb;

message MigrationState {
  enum State {
    // Default value, should not be used.
    UNSPECIFIED = 0;
    // The user has explicitly started the sharing flow (from the UI) on this
    // device. This is the initiating device.
    SHARE_INITIATED = 1;
    // This is a remote device that has detected the existence of a sharing
    // transition. The transition could be in-progress or complete on the
    // initiating device but this remote device must complete the transition as
    // well.
    SHARE_PASSIVE = 2;
    // Sharing flow has been completed. The UI and feature code can be notified
    // of the completion. Both the initiating device and remote device have to
    // proceed through this phase.
    SHARE_COMPLETED = 3;
    // The unshare flow has been initiated by the user on this device. This is
    // the initiating device.
    UNSHARE_INITIATED = 4;
    // The unshare result is being applied to the current device. At this point,
    // the shared group has been copied to the private storage and waiting for
    // commit of the private group.
    UNSHARE_PREPARED = 5;
    // The unshare flow has been successfully completed. Both the initiating
    // device and remote device have to proceed through this phase.
    UNSHARE_COMPLETED = 6;
  }
  optional State state = 1;
}