aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaro Perämaa <[email protected]>2021-05-03 12:03:51 +0300
committerGitHub <[email protected]>2021-05-03 12:03:51 +0300
commite44b980bc2b9f1b7cb914eb145dc9b296acc8736 (patch)
treeb7c7e2e1b39aded2682cfe38dd0e20bb4830b047
parentMerge pull request #50 from WilliamVenner/ugc_file_size (diff)
parentChange `Result<DownloadItemResult, SteamError>` -> `DownloadItemResult` (diff)
downloadsteamworks-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.rs18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/ugc.rs b/src/ugc.rs
index 80c7604..c317d76 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<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())
+ }
}
}
}