summaryrefslogtreecommitdiff
path: root/src/package_manager/package_manager.rs
diff options
context:
space:
mode:
authorShaun Taheri <github@taheris.co.uk>2016-09-09 15:29:10 +0200
committerGitHub <noreply@github.com>2016-09-09 15:29:10 +0200
commitc38a61a733b5543e682a8be4dbeda8c987582ae7 (patch)
treeb206b1a780c1f2e88e1777540fcf4e2084456471 /src/package_manager/package_manager.rs
parent472109e26e883463c9540b3ec9221daf50311f4f (diff)
parent3b56557d70893122575be2bd4422e5b5d65f7f7f (diff)
downloadrvi_sota_client-c38a61a733b5543e682a8be4dbeda8c987582ae7.tar.gz
Merge pull request #123 from advancedtelematic/bugfix/pro-1331/handle-inflight-updates
Handle the returned UpdateRequestStatus from Core
Diffstat (limited to 'src/package_manager/package_manager.rs')
-rw-r--r--src/package_manager/package_manager.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/package_manager/package_manager.rs b/src/package_manager/package_manager.rs
index 09556a0..173a636 100644
--- a/src/package_manager/package_manager.rs
+++ b/src/package_manager/package_manager.rs
@@ -49,6 +49,12 @@ impl PackageManager {
}
}
+ /// Indicates whether a specific package is installed on the device.
+ pub fn is_installed(&self, package: &Package) -> bool {
+ self.installed_packages().map(|packages| packages.contains(package))
+ .unwrap_or_else(|err| { error!("couldn't get a list of packages: {}", err); false })
+ }
+
/// Returns a string representation of the package manager's extension.
pub fn extension(&self) -> String {
match *self {