| // 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; |
| |
| import "prototype/common.proto"; |
| import "prototype/component.proto"; |
| import "prototype/design.proto"; |
| |
| option go_package = "go.chromium.org/chromiumos/infra/proto/go/prototype"; |
| |
| message Constraint { |
| enum Level { |
| TYPE_UNKNOWN = 0; |
| REQUIRED = 1; |
| PREFERRED = 2; |
| OPTIONAL = 3; |
| } |
| |
| Level level = 1; |
| |
| oneof type { |
| Memory memory = 4; |
| Camera front_camera = 6; |
| Camera rear_camera = 7; |
| } |
| |
| message Memory { |
| ByteSize min_size = 1; |
| repeated Component.Memory.Type types = 2; |
| } |
| |
| message Camera { |
| Presence.Indicator presence = 1; |
| repeated Component.Camera.Feature features = 2; |
| } |
| } |
| |
| message ComponentQual { |
| enum Status { |
| STATUS_UNKNOWN = 0; |
| REQUESTED = 1; |
| TECHNICALLY_QUALIFIED = 2; |
| QUALIFIED = 3; |
| } |
| ComponentId component_id = 1; |
| Status status = 2; |
| } |
| |
| message Program { |
| ProgramId id = 1; |
| repeated Requirement reqs = 2; |
| repeated ComponentQual component_quals = 3; |
| |
| message Requirement { |
| repeated Design.FormFactor form_factors = 1; |
| repeated Constraint constraints = 2; |
| } |
| } |
| |
| message ProgramList { |
| repeated Program value = 1; |
| } |