blob: 20f55b3f5aa3d1c0228bd93f7c502acbb29b4dcd [file] [log] [blame]
// Copyright 2018 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";
option optimize_for = LITE_RUNTIME;
package chromeos_update_engine;
// This contains info Update Engine needs to download a DLC (Downloadable
// Content).
// https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dlcservice
message DlcInfo {
// ID of the DLC.
// This has to be set.
// dlc_id is used to contruct DLC install path and Omaha App ID.
// Omaha App ID is used to query update from Omaha server. Omaha responds
// with payload that corresponds to the App ID based on a preset rule.
// Omaha respponds with error if the provided App ID does not exist on
// Omaha.
string dlc_id = 1;
}
// This is the message passed in Update Engine via AttemptInstall from
// dlcservice.
//
// The general flow is as follows:
// 1. dlcservice parses rootfs for a list of supported DLC id.
// 2. dlcservice receives request to install one or more DLC.
// 3. dlcservice constructs DlcParameter based on supported DLC id and sends
// the message to Update Engine via AttemptInstall D-Bus API (restricted to
// be accessible by dlcservice only). If this runs on a DUT, omaha_url has to
// be set to avoid querying to the real Omaha server.
// 4. Update Engine receives the DlcParameters message and checks the validity
// of the request (there has to be at least one item in dlc_infos and each
// item can not have empty field).
// 5. Update Engine constructs Omaha query and continue installation operations.
message DlcParameters {
// A list of DLC info to install.
repeated DlcInfo dlc_infos = 1;
// Omaha URL to query for update.
string omaha_url = 2;
}