blob: 74e278953e15922e3377f5e9db8b3d089ae2619b [file] [log] [blame]
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// The messages in this file comprise the DBus/Protobuf interface for
// Hardware Verifier.
syntax = "proto3";
option optimize_for = SPEED;
package hardware_verifier;
// Name of the folder which contains |runtime_probe.pb.h| is different than
// the one which contains |runtime_probo.proto| so we import the file name
// directly and use |BUILD.gn| to handle the include path properly.
import "runtime_probe.proto";
// List of the possible qualification status of a component.
// TODO(yhong): Using the existing definition from AVL side when the
// integration work starts.
enum QualificationStatus {
UNQUALIFIED = 0;
REJECTED = 1;
QUALIFIED = 2;
}
message ComponentInfo {
// required
runtime_probe.ProbeRequest.SupportCategory component_category = 1;
string component_uuid = 2; // required
QualificationStatus qualification_status = 3; // required
}
message HwVerificationSpec {
// A list of all known components and their qualification status.
repeated ComponentInfo component_infos = 1;
message GenericComponentValueWhitelist {
// required
runtime_probe.ProbeRequest.SupportCategory component_category = 1;
// A list of field names that are allowed to be included in the report.
repeated string field_names = 2;
}
// Records the whitelist of the generic component values of each category.
repeated GenericComponentValueWhitelist generic_component_value_whitelists =
2;
}
message HwVerificationReport {
bool is_compliant = 1;
// Records the qualification status of the components that is also probed
// by the hardware prober.
repeated ComponentInfo found_component_infos = 2;
message GenericDeviceInfo {
// Records the generic component values of some specific types. Note
// that because |HwVerificationReport| intents to only include the needed
// data, not all categories which |runtime_probe| supports are listed.
repeated runtime_probe.AudioCodec.Fields audio_codec = 1;
repeated runtime_probe.Battery.Fields battery = 2;
repeated runtime_probe.Storage.Fields storage = 3;
}
// Records the overall device matrics.
GenericDeviceInfo generic_device_info = 3;
}