blob: 56dc8ab23f8187880b7b338063ddf402cc507e52 [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 dlcservice;
// This contains info Update Engine needs to update or install a DLC
// (Downloadable Content) module.
// https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/dlcservice
message DlcModuleInfo {
// ID of the DLC module.
// This has to be set.
// dlc_id is used to construct the DLC module 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 responds with error if the provided App ID does not exist on
// Omaha.
string dlc_id = 1;
// Path to the DLC module content. This parameter should not be used as input.
// If passed in with a value set, there will be no effect. Only an output use
// parameter.
string dlc_root = 2;
}
// This is the message used in:
//
// - The update_engine queries the dlcservice to get the list of available DLCs
// to be updated (This is done through a D-Bus signal and restricted to
// update_engine only.) The DLC service constructs the list of available DLCs
// based on installed DLCs on the stateful partition and returns it to the
// update_engine.
//
// - The dlcservice sends the list of DLCs it wants to install to the
// update_engine (similarly, through a D-Bus signal that is restricted to only
// dlcservice.) Optionally dlcservice can pass a custom Omaha URL (for
// autotests, QA tests, etc) to download the DLCs from. update_engine checks
// the validity of this request and starts the installation process.
message DlcModuleList {
// A list of DLC modules that needs to be installed or updated.
repeated DlcModuleInfo dlc_module_infos = 1;
// Omaha URL to query for update. Only used when trying to force the
// update_engine to download the DLC payloads from a specific address.
string omaha_url = 2;
}
// This is the message that indicates how the install progress is running and
// dlcservice will always end with |COMPLETE| or |FAILED| when finished.
enum Status {
COMPLETED = 0;
RUNNING = 1;
FAILED = 2;
}
// This message is sent from DLC Service via OnStatusInstall signal.
//
// Throughout the install progress, dlcservice will signal out this message.
message InstallStatus {
DlcModuleList dlc_module_list = 1;
string error_code = 2;
Status status = 3;
double progress = 4;
}