// Copyright 2019 The Chromium OS 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 = "proto3";

package prototype;

option go_package = "go.chromium.org/chromiumos/infra/proto/go/prototype";

import "prototype/common.proto";
import "prototype/partner.proto";

message ProgramId {
  string value = 1;
}

message DesignId {
  string value = 1;
}

message DesignVariantId {
  string value = 1;
}

message DesignOptions {
  Fingerprint fingerprint = 1;
  Feature front_camera = 2;
  Feature rear_camera = 3;
  Feature base_accelerometer = 4;
  Feature lid_accelerometer = 5;
  Feature base_gyroscope = 6;
  Feature lid_gyroscope = 7;
  Feature base_magnetometer = 8;
  Feature lid_magnetometer = 9;
  Feature base_light_sensor = 10;
  Feature lid_light_sensor = 11;
  Feature touchscreen = 12;
  Stylus stylus = 13;

  // General feature presense proto that can be used
  // for any features that don't have specific attributes.
  // E.g. See Fingerprint below
  message Feature {
    Presence.Indicator presence = 1;
  }

  message Fingerprint {
    enum Location {
      FINGERPRINT_LOCATION_UNKNOWN = 0;
      POWER_BUTTON_TOP_LEFT = 1;
      KEYBOARD_TOP_RIGHT = 2;
      KEYBOARD_BOTTOM_RIGHT = 3;
    }
    Presence.Indicator presence = 1;
    Location location = 2;
  }

  message Stylus {
    enum Category {
      STYLUS_CATEGORY_UNKNOWN = 0;
      INTERNAL = 1;
      EXTERNAL = 2;
    }
    Presence.Indicator presence = 1;
    Category category = 2;
  }
}

message Design {
  DesignId id = 1;
  ProgramId program_id = 2;
  PartnerId odm_id = 3;
  string name = 4;

  repeated Variant variants = 6;

  message Variant {
    DesignVariantId id = 1;
    FormFactor form_factor = 2;
    DesignOptions design_options = 3;
  }

  enum FormFactor {
    FORM_FACTOR_UNDEFINED = 0;
    CLAMSHELL = 1;
    CONVERTIBLE = 2;
    DETACHABLE = 3;
    CHROMEBASE = 4;
    CHROMEBOX = 5;
    CHROMEBIT = 6;
    CHROMESLATE = 7;
  }
}

message DesignList {
  repeated Design value = 1;
}
