| // 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; |
| } |