• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2020 The ChromiumOS Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5syntax = "proto3";
6
7package chromiumos.config.payload;
8
9import "chromiumos/config/api/component.proto";
10import "chromiumos/config/api/design.proto";
11import "chromiumos/config/api/device_brand.proto";
12import "chromiumos/config/api/partner.proto";
13import "chromiumos/config/api/program.proto";
14import "chromiumos/config/api/software/brand_config.proto";
15import "chromiumos/config/api/software/software_config.proto";
16
17option go_package = "go.chromium.org/chromiumos/config/go/payload";
18
19// Provides a configuration that has been completely flattened with all ids
20// already resolved.
21// This is specifically targeted at supporting easier analysis from declarative
22// languages that query over the configs.  It reduces join operations and also
23// simplifies queries greatly.
24message FlatConfig {
25  api.Program program = 1;
26  api.Design hw_design = 3;
27  api.Partner odm = 4;
28  api.Design.Config hw_design_config = 5;
29  repeated api.Component hw_components = 11;
30  api.DeviceBrand device_brand = 6;
31  api.Partner oem = 7;
32
33  api.software.SoftwareConfig sw_config = 9;
34  api.software.BrandConfig brand_sw_config = 10;
35
36  reserved 2, 8;
37}
38
39// A list of FlatConfigs for ease of serialization into a file.
40message FlatConfigList {
41  repeated FlatConfig values = 1;
42}
43