Add libavfutil
The library has common utilities for various components in AVF.
Bug: 295168844
Test: atest libavfutil.test
Change-Id: If24309f480d0704c6bcba9c193a4caf578ee9d51
diff --git a/virtualizationservice/Android.bp b/virtualizationservice/Android.bp
index 6b39ff9..0fc1a2d 100644
--- a/virtualizationservice/Android.bp
+++ b/virtualizationservice/Android.bp
@@ -27,12 +27,13 @@
"android.os.permissions_aidl-rust",
"libandroid_logger",
"libanyhow",
+ "libavfutil",
"libbinder_rs",
- "libvmclient",
"liblibc",
"liblog_rust",
"libnix",
"librustutils",
+ "libvmclient",
"libstatslog_virtualization_rust",
"libtombstoned_client_rust",
"libvsock",
diff --git a/virtualizationservice/src/aidl.rs b/virtualizationservice/src/aidl.rs
index 6dc5485..8401aa0 100644
--- a/virtualizationservice/src/aidl.rs
+++ b/virtualizationservice/src/aidl.rs
@@ -33,6 +33,7 @@
};
use android_system_virtualmachineservice::aidl::android::system::virtualmachineservice::IVirtualMachineService::VM_TOMBSTONES_SERVICE_PORT;
use anyhow::{anyhow, ensure, Context, Result};
+use avfutil::LogResult;
use binder::{self, wait_for_interface, BinderFeatures, ExceptionCode, Interface, LazyServiceGuard, Status, Strong, IntoBinderResult};
use libc::VMADDR_CID_HOST;
use log::{error, info, warn};
@@ -48,20 +49,6 @@
use vsock::{VsockListener, VsockStream};
use nix::unistd::{chown, Uid};
-/// Convenient trait for logging an error while returning it
-trait LogResult<T, E> {
- fn with_log(self) -> std::result::Result<T, E>;
-}
-
-impl<T, E: std::fmt::Debug> LogResult<T, E> for std::result::Result<T, E> {
- fn with_log(self) -> std::result::Result<T, E> {
- self.map_err(|e| {
- error!("{e:?}");
- e
- })
- }
-}
-
/// The unique ID of a VM used (together with a port number) for vsock communication.
pub type Cid = u32;