diff options
| author | Zeyla Hellyer <[email protected]> | 2018-08-01 08:35:04 -0700 |
|---|---|---|
| committer | Zeyla Hellyer <[email protected]> | 2018-08-01 08:35:04 -0700 |
| commit | e1332a54af46eff6051097ff4989c8d0fde4ca37 (patch) | |
| tree | 9f2a8753e994e1b533ca20da67ce5325a79fdfd1 /src/client/bridge | |
| parent | Move unit tests into source (diff) | |
| download | serenity-e1332a54af46eff6051097ff4989c8d0fde4ca37.tar.xz serenity-e1332a54af46eff6051097ff4989c8d0fde4ca37.zip | |
Add From impls for Game, generify Game params
Add more `impl From<T> for Game` implementations, and make `Into<Game>` trait
bounds for all function parameters accepting a Game.
Diffstat (limited to 'src/client/bridge')
| -rw-r--r-- | src/client/bridge/gateway/shard_messenger.rs | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/client/bridge/gateway/shard_messenger.rs b/src/client/bridge/gateway/shard_messenger.rs index 2331d4a..6d625b6 100644 --- a/src/client/bridge/gateway/shard_messenger.rs +++ b/src/client/bridge/gateway/shard_messenger.rs @@ -157,7 +157,11 @@ impl ShardMessenger { /// # try_main().unwrap(); /// # } /// ``` - pub fn set_game(&self, game: Option<Game>) { + pub fn set_game<T: Into<Game>>(&self, game: Option<T>) { + self._set_game(game.map(Into::into)) + } + + fn _set_game(&self, game: Option<Game>) { let _ = self.send(ShardRunnerMessage::SetGame(game)); } @@ -195,7 +199,15 @@ impl ShardMessenger { /// # try_main().unwrap(); /// # } /// ``` - pub fn set_presence(&self, game: Option<Game>, mut status: OnlineStatus) { + pub fn set_presence<T: Into<Game>>( + &self, + game: Option<T>, + status: OnlineStatus, + ) { + self._set_presence(game.map(Into::into), status) + } + + fn _set_presence(&self, game: Option<Game>, mut status: OnlineStatus) { if status == OnlineStatus::Offline { status = OnlineStatus::Invisible; } |