blob: 6beba08780c3ea83992b0058ec72868a1b8ff54e [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.hwinfo;
using fuchsia.intl;
/// Collection of properties that is unique per device.
table DeviceInfo {
1: string serial_number;
};
/// Collection of properties that is shared with other devices within the same
/// product line.
table ProductInfo {
1: string sku;
2: string language;
3: fuchsia.intl.RegulatoryDomain regulatory_domain;
4: vector<fuchsia.intl.LocaleId> locale_list;
5: string name;
6: string model;
7: string manufacturer;
8: string build_date;
};
/// Collection of properties that are common among a set of devices based on
/// hardware type
table BoardInfo {
1: string name;
2: string revision;
};
/// Device provides an interface to retrieve device-specific properties.
[Discoverable]
protocol Device {
GetInfo() -> (DeviceInfo info);
};
/// Product provides an interface to retrieve product-specific properties.
[Discoverable]
protocol Product {
GetInfo() -> (ProductInfo info);
};
/// Board provides an interface to retrieve hardware-specific information.
[Discoverable]
protocol Board {
GetInfo() -> (BoardInfo info);
};