diff options
| author | William Venner <[email protected]> | 2021-04-21 20:38:19 +0100 |
|---|---|---|
| committer | William Venner <[email protected]> | 2021-04-21 20:38:19 +0100 |
| commit | 0abbdc6d7d6a38c54817f21c8f606f20aa94e442 (patch) | |
| tree | f0129d2c67ab960eca6b371123a273af00a6c6e7 | |
| parent | Merge pull request #45 from WilliamVenner/fix/macos_builds (diff) | |
| download | steamworks-rs-0abbdc6d7d6a38c54817f21c8f606f20aa94e442.tar.xz steamworks-rs-0abbdc6d7d6a38c54817f21c8f606f20aa94e442.zip | |
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()) + } } } } |