1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // Copyright (c) 2011 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_VERSION_VERSION_LOADER_H_
- #define CHROMEOS_VERSION_VERSION_LOADER_H_
- #include <string>
- #include "base/component_export.h"
- #include "third_party/abseil-cpp/absl/types/optional.h"
- namespace chromeos {
- namespace version_loader {
- enum VersionFormat {
- VERSION_SHORT,
- VERSION_SHORT_WITH_DATE,
- VERSION_FULL,
- };
- // Gets the version.
- // If |full_version| is true version string with extra info is extracted,
- // otherwise it's in short format x.x.xx.x.
- // May block.
- COMPONENT_EXPORT(CHROMEOS_VERSION)
- std::string GetVersion(VersionFormat format);
- // Gets the ARC version.
- // May block.
- COMPONENT_EXPORT(CHROMEOS_VERSION) std::string GetArcVersion();
- // Gets the ARC Android SDK version.
- // If not found returns absl::nullopt.
- // May block.
- COMPONENT_EXPORT(CHROMEOS_VERSION)
- absl::optional<std::string> GetArcAndroidSdkVersion();
- // Gets the firmware info.
- // May block.
- COMPONENT_EXPORT(CHROMEOS_VERSION) std::string GetFirmware();
- // Extracts the firmware from the file.
- COMPONENT_EXPORT(CHROMEOS_VERSION)
- std::string ParseFirmware(const std::string& contents);
- // Returns true if |new_version| is older than |current_version|.
- // Version numbers should be dot separated. The sections are compared as
- // numbers if possible, as strings otherwise. Earlier sections have
- // precedence. If one version is prefix of another, the shorter one is
- // considered older. (See test for examples.)
- COMPONENT_EXPORT(CHROMEOS_VERSION)
- bool IsRollback(const std::string& current_version,
- const std::string& new_version);
- } // namespace version_loader
- } // namespace chromeos
- #endif // CHROMEOS_VERSION_VERSION_LOADER_H_
|