diff --git a/src/client.rs b/src/client.rs index a9f0f0f..0d5b6a5 100644 --- a/src/client.rs +++ b/src/client.rs @@ -9,8 +9,8 @@ use models::{SetActivityArgs, SetActivity}; #[derive(Debug)] pub struct Client { - pub client_id: u64, - pub version: u32, + client_id: u64, + version: u32, socket: UnixStream, } diff --git a/src/lib.rs b/src/lib.rs index db5b0f4..093a0f6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -12,7 +12,8 @@ extern crate uuid; #[macro_use] mod macros; -pub mod models; +mod models; pub mod client; +pub use models::prelude; pub use client::Client; diff --git a/src/macros.rs b/src/macros.rs index d013ff2..1617988 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -1,12 +1,16 @@ macro_rules! message_func { [ $name:ident, $type:tt func ] => { - pub fn $name $type>(mut self, func: F) -> Self { + pub fn $name(mut self, func: F) -> Self + where F: FnOnce($type) -> $type + { self.$name = Some(func($type::default())); self } }; [ $name:ident, String ] => { - pub fn $name>(mut self, value: S) -> Self { + pub fn $name(mut self, value: S) -> Self + where S: Into + { self.$name = Some(value.into()); self } }; @@ -37,7 +41,7 @@ macro_rules! message_format { message_format![ @st ( $name $($rest)* ) -> ( #[serde(skip_serializing_if = "Option::is_none")] - pub $field: Option<$type>, + $field: Option<$type>, $($out)* ) ]; diff --git a/src/models/handshake.rs b/src/models/handshake.rs index 8c10397..b8ab667 100644 --- a/src/models/handshake.rs +++ b/src/models/handshake.rs @@ -3,9 +3,9 @@ use super::Payload; #[derive(Debug, Default, Serialize)] pub struct Handshake { - pub nonce: String, - pub v: u32, - pub client_id: String, + nonce: String, + v: u32, + client_id: String, } impl Handshake { diff --git a/src/models/mod.rs b/src/models/mod.rs index 68baaa7..e94e33e 100644 --- a/src/models/mod.rs +++ b/src/models/mod.rs @@ -14,9 +14,11 @@ pub use self::set_activity::*; pub trait Payload: Serialize {} pub mod prelude { - pub use super::message::Message; - pub use super::command::Command; - pub use super::handshake::Handshake; - #[cfg(feature = "rich_presence")] - pub use super::set_activity::SetActivity; + pub use super::set_activity::{ + SetActivity, + SetActivityAssets, + SetActivityParty, + SetActivitySecrets, + SetActivityTimestamps + }; } diff --git a/src/models/set_activity.rs b/src/models/set_activity.rs index dac48d9..eef9c62 100644 --- a/src/models/set_activity.rs +++ b/src/models/set_activity.rs @@ -1,10 +1,10 @@ use std::process::id as pid; -use models::prelude::Command; +use models::Command; #[derive(Debug, Default, Serialize)] pub struct SetActivityArgs { - pub pid: u32, - pub activity: SetActivity, + pid: u32, + activity: SetActivity, } impl SetActivityArgs {