// Copyright (c) 2009 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. #ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_INSTALL_PLAN_H__ #define CHROMEOS_PLATFORM_UPDATE_ENGINE_INSTALL_PLAN_H__ #include #include "chromeos/obsolete_logging.h" // InstallPlan is a simple struct that contains relevant info for many // parts of the update system about the install that should happen. namespace chromeos_update_engine { struct InstallPlan { InstallPlan(bool is_full, const std::string& url, const std::string& hash, const std::string& d_path, const std::string& i_path) : is_full_update(is_full), download_url(url), download_hash(hash), download_path(d_path), install_path(i_path) {} InstallPlan() : is_full_update(false) {} bool is_full_update; std::string download_url; // url to download from std::string download_hash; // hash of the data at the url std::string download_path; // path to downloaded file from Omaha std::string install_path; // path to install device bool operator==(const InstallPlan& that) const { return (is_full_update == that.is_full_update) && (download_url == that.download_url) && (download_hash == that.download_hash) && (download_path == that.download_path) && (install_path == that.install_path); } bool operator!=(const InstallPlan& that) const { return !((*this) == that); } void Dump() const { LOG(INFO) << "InstallPlan: " << (is_full_update ? "full_update" : "delta_update") << ", url: " << download_url << ", hash: " << download_hash << ", path: " << download_path << ", install_path: " << install_path; } }; } // namespace chromeos_update_engine #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_INSTALL_PLAN_H__