diff options
| author | Aaro Perämaa <[email protected]> | 2021-05-03 12:03:51 +0300 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-05-03 12:03:51 +0300 |
| commit | e44b980bc2b9f1b7cb914eb145dc9b296acc8736 (patch) | |
| tree | b7c7e2e1b39aded2682cfe38dd0e20bb4830b047 | |
| parent | Merge pull request #50 from WilliamVenner/ugc_file_size (diff) | |
| parent | Change `Result<DownloadItemResult, SteamError>` -> `DownloadItemResult` (diff) | |
| download | steamworks-rs-e44b980bc2b9f1b7cb914eb145dc9b296acc8736.tar.xz steamworks-rs-e44b980bc2b9f1b7cb914eb145dc9b296acc8736.zip | |
Merge pull request #46 from WilliamVenner/download_item_result_pr
Change `Result<DownloadItemResult, SteamError>` -> `DownloadItemResult`
| -rw-r--r-- | src/ugc.rs | 18 |
1 files changed, 10 insertions, 8 deletions
@@ -299,21 +299,23 @@ bitflags! { pub struct DownloadItemResult { pub app_id: AppId, pub published_file_id: PublishedFileId, + pub error: Option<SteamError>, } -unsafe impl Callback for Result<DownloadItemResult, SteamError> { +unsafe impl Callback for DownloadItemResult { const ID: i32 = CALLBACK_BASE_ID + 6; const SIZE: i32 = ::std::mem::size_of::<sys::DownloadItemResult_t>() 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()) + } } } } |