diff options
| author | Flaise <[email protected]> | 2019-08-22 11:28:59 -0500 |
|---|---|---|
| committer | Flaise <[email protected]> | 2019-08-22 11:28:59 -0500 |
| commit | 38155dcf5533436d4ad302c9bfa1c982226a21f9 (patch) | |
| tree | 2599f55885279ae1dbd85dfaee03e28b5379c34f /src | |
| parent | Replaced tabs with spaces (diff) | |
| download | steamworks-rs-38155dcf5533436d4ad302c9bfa1c982226a21f9.tar.xz steamworks-rs-38155dcf5533436d4ad302c9bfa1c982226a21f9.zip | |
SteamError is Copy and Clone, adjusted callback type constraints
Diffstat (limited to 'src')
| -rw-r--r-- | src/error.rs | 4 | ||||
| -rw-r--r-- | src/matchmaking.rs | 2 | ||||
| -rw-r--r-- | src/server.rs | 2 | ||||
| -rw-r--r-- | src/ugc.rs | 4 | ||||
| -rw-r--r-- | src/user_stats.rs | 8 | ||||
| -rw-r--r-- | src/utils.rs | 2 |
6 files changed, 11 insertions, 11 deletions
diff --git a/src/error.rs b/src/error.rs index cea2ed9..0f5fc39 100644 --- a/src/error.rs +++ b/src/error.rs @@ -7,7 +7,7 @@ use crate::sys; /// /// Documentation is based on official documentation which doesn't /// always explain when an error could be returned or its meaning. -#[derive(Debug, Fail, PartialEq, Eq)] +#[derive(Copy, Clone, Debug, Fail, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub enum SteamError { /// Returned if the steamworks API fails to initialize. @@ -56,7 +56,7 @@ pub enum SteamError { #[fail(display = "access denied")] AccessDenied, /// Returned when the operation timed out - #[fail(display = "operation timed")] + #[fail(display = "operation timed out")] Timeout, /// Returned when the user is VAC2 banned #[fail(display = "VAC2 banned")] diff --git a/src/matchmaking.rs b/src/matchmaking.rs index f3e3b94..30e4fa1 100644 --- a/src/matchmaking.rs +++ b/src/matchmaking.rs @@ -84,7 +84,7 @@ impl <Manager> Matchmaking<Manager> { /// * `LobbyEnter` /// * `LobbyCreated` pub fn create_lobby<F>(&self, ty: LobbyType, max_members: u32, mut cb: F) - where F: FnMut(Result<LobbyId, SteamError>) + 'static + Send + where F: FnMut(SResult<LobbyId>) + 'static + Send { assert!(max_members <= 250); // Steam API limits unsafe { diff --git a/src/server.rs b/src/server.rs index 47916d3..f178d28 100644 --- a/src/server.rs +++ b/src/server.rs @@ -100,7 +100,7 @@ impl Server { /// is called when the event arrives. pub fn register_callback<C, F>(&self, f: F) -> CallbackHandle<ServerManager> where C: Callback, - F: FnMut(C) + 'static + Send + Sync + F: FnMut(C) + 'static + Send { unsafe { register_callback(&self.inner, f, true) @@ -167,7 +167,7 @@ impl <Manager> UGC<Manager> { /// Subscribes to a workshop item pub fn subscribe_item<F>(&self, published_file_id: PublishedFileId, mut cb: F) - where F: FnMut(Result<(), SteamError>) + 'static + Send + Sync + where F: FnMut(Result<(), SteamError>) + 'static + Send { unsafe { let api_call = sys::SteamAPI_ISteamUGC_SubscribeItem(self.ugc, published_file_id.0); @@ -186,7 +186,7 @@ impl <Manager> UGC<Manager> { } pub fn unsubscribe_item<F>(&self, published_file_id: PublishedFileId, mut cb: F) - where F: FnMut(Result<(), SteamError>) + 'static + Send + Sync + where F: FnMut(Result<(), SteamError>) + 'static + Send { unsafe { let api_call = sys::SteamAPI_ISteamUGC_UnsubscribeItem(self.ugc, published_file_id.0); diff --git a/src/user_stats.rs b/src/user_stats.rs index 941deff..8a2fe16 100644 --- a/src/user_stats.rs +++ b/src/user_stats.rs @@ -17,7 +17,7 @@ const CALLBACK_BASE_ID: i32 = 1100; impl <Manager> UserStats<Manager> { pub fn find_leaderboard<F>(&self, name: &str, mut cb: F) - where F: FnMut(Result<Option<Leaderboard>, SteamError>) + 'static + Send + Sync + where F: FnMut(Result<Option<Leaderboard>, SteamError>) + 'static + Send { unsafe { let name = CString::new(name).unwrap(); @@ -39,7 +39,7 @@ impl <Manager> UserStats<Manager> { } pub fn find_or_create_leaderboard<F>(&self, name: &str, sort_method: LeaderboardSortMethod, display_type: LeaderboardDisplayType, mut cb: F) - where F: FnMut(Result<Option<Leaderboard>, SteamError>) + 'static + Send + Sync + where F: FnMut(Result<Option<Leaderboard>, SteamError>) + 'static + Send { unsafe { let name = CString::new(name).unwrap(); @@ -74,7 +74,7 @@ impl <Manager> UserStats<Manager> { } pub fn upload_leaderboard_score<F>(&self, leaderboard: &Leaderboard, method: UploadScoreMethod, score: i32, details: &[i32], mut cb: F) - where F: FnMut(Result<Option<LeaderboardScoreUploaded>, SteamError>) + 'static + Send + Sync + where F: FnMut(Result<Option<LeaderboardScoreUploaded>, SteamError>) + 'static + Send { unsafe { let method = match method { @@ -110,7 +110,7 @@ impl <Manager> UserStats<Manager> { max_details_len: usize, mut cb: F ) - where F: FnMut(Result<Vec<LeaderboardEntry>, SteamError>) + 'static + Send + Sync + where F: FnMut(Result<Vec<LeaderboardEntry>, SteamError>) + 'static + Send { unsafe { let request = match request { diff --git a/src/utils.rs b/src/utils.rs index d10dbb4..da868c4 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -22,7 +22,7 @@ pub enum NotificationPosition { lazy_static! { /// Global rust warning callback - static ref WARNING_CALLBACK: RwLock<Option<Box<Fn(i32, &CStr) + Send + Sync>>> = RwLock::new(None); + static ref WARNING_CALLBACK: RwLock<Option<Box<dyn Fn(i32, &CStr) + Send + Sync>>> = RwLock::new(None); } /// C function to pass as the real callback, which forwards to the `WARNING_CALLBACK` if any |