From 0abbdc6d7d6a38c54817f21c8f606f20aa94e442 Mon Sep 17 00:00:00 2001 From: William Venner Date: Wed, 21 Apr 2021 20:38:19 +0100 Subject: Change `Result` -> `DownloadItemResult` --- src/ugc.rs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/ugc.rs b/src/ugc.rs index e257cdc..4e591b5 100644 --- a/src/ugc.rs +++ b/src/ugc.rs @@ -299,21 +299,23 @@ bitflags! { pub struct DownloadItemResult { pub app_id: AppId, pub published_file_id: PublishedFileId, + pub error: Option, } -unsafe impl Callback for Result { +unsafe impl Callback for DownloadItemResult { const ID: i32 = CALLBACK_BASE_ID + 6; const SIZE: i32 = ::std::mem::size_of::() as i32; unsafe fn from_raw(raw: *mut c_void) -> Self { let val = &mut *(raw as *mut sys::DownloadItemResult_t); - if val.m_eResult == sys::EResult::k_EResultOK { - Ok(DownloadItemResult { - app_id: AppId(val.m_unAppID), - published_file_id: PublishedFileId(val.m_nPublishedFileId), - }) - } else { - Err(val.m_eResult.into()) + DownloadItemResult { + app_id: AppId(val.m_unAppID), + published_file_id: PublishedFileId(val.m_nPublishedFileId), + + error: match val.m_eResult { + sys::EResult::k_EResultOK => None, + error => Some(error.into()) + } } } } -- cgit v1.2.3