aboutsummaryrefslogtreecommitdiff
path: root/src/message/signalproxy/objects/network.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/message/signalproxy/objects/network.rs')
-rw-r--r--src/message/signalproxy/objects/network.rs396
1 files changed, 198 insertions, 198 deletions
diff --git a/src/message/signalproxy/objects/network.rs b/src/message/signalproxy/objects/network.rs
index cb1edd2..4075499 100644
--- a/src/message/signalproxy/objects/network.rs
+++ b/src/message/signalproxy/objects/network.rs
@@ -28,221 +28,221 @@ pub struct Network {
network_info: NetworkInfo,
}
-// impl crate::message::signalproxy::Network for Network {
-// type Item = VariantList;
+impl crate::message::signalproxy::Network for Network {
+ type Item = VariantList;
-// fn to_network(&self) -> Self::Item {
-// let mut res = Self::Item::new();
+ fn to_network(&self) -> Self::Item {
+ let mut res = Self::Item::new();
-// res.push(Variant::ByteArray(s!("myNick")));
-// res.push(Variant::String(self.my_nick.clone()));
-// res.push(Variant::ByteArray(s!("latency")));
-// res.push(Variant::i32(self.latency));
-// res.push(Variant::ByteArray(s!("currentServer")));
-// res.push(Variant::String(self.current_server.clone()));
-// res.push(Variant::ByteArray(s!("isConnected")));
-// res.push(Variant::bool(self.is_connected));
-// res.push(Variant::ByteArray(s!("connectionState")));
-// res.push(Variant::i32(self.connection_state.clone() as i32));
+ res.push(Variant::ByteArray(s!("myNick")));
+ res.push(Variant::String(self.my_nick.clone()));
+ res.push(Variant::ByteArray(s!("latency")));
+ res.push(Variant::i32(self.latency));
+ res.push(Variant::ByteArray(s!("currentServer")));
+ res.push(Variant::String(self.current_server.clone()));
+ res.push(Variant::ByteArray(s!("isConnected")));
+ res.push(Variant::bool(self.is_connected));
+ res.push(Variant::ByteArray(s!("connectionState")));
+ res.push(Variant::i32(self.connection_state.clone() as i32));
-// res.push(Variant::ByteArray(s!("Supports")));
-// res.push(Variant::VariantMap(
-// self.supports
-// .iter()
-// .map(|(k, v)| (k.clone(), Variant::String(v.clone())))
-// .collect(),
-// ));
+ res.push(Variant::ByteArray(s!("Supports")));
+ res.push(Variant::VariantMap(
+ self.supports
+ .iter()
+ .map(|(k, v)| (k.clone(), Variant::String(v.clone())))
+ .collect(),
+ ));
-// res.push(Variant::ByteArray(s!("Caps")));
-// res.push(Variant::VariantMap(
-// self.caps
-// .iter()
-// .map(|(k, v)| (k.clone(), Variant::String(v.clone())))
-// .collect(),
-// ));
+ res.push(Variant::ByteArray(s!("Caps")));
+ res.push(Variant::VariantMap(
+ self.caps
+ .iter()
+ .map(|(k, v)| (k.clone(), Variant::String(v.clone())))
+ .collect(),
+ ));
-// res.push(Variant::ByteArray(s!("CapsEnabled")));
-// res.push(Variant::VariantList(
-// self.caps_enabled
-// .iter()
-// .map(|v| Variant::String(v.clone()))
-// .collect(),
-// ));
+ res.push(Variant::ByteArray(s!("CapsEnabled")));
+ res.push(Variant::VariantList(
+ self.caps_enabled
+ .iter()
+ .map(|v| Variant::String(v.clone()))
+ .collect(),
+ ));
-// {
-// let mut map = VariantMap::new();
+ {
+ let mut map = VariantMap::new();
-// map.insert(
-// s!("Users"),
-// Variant::VariantMap(self.irc_users.iter().fold(
-// HashMap::new(),
-// |mut res, (_, v)| {
-// res.extend(v.to_network());
+ map.insert(
+ s!("Users"),
+ Variant::VariantMap(self.irc_users.iter().fold(
+ HashMap::new(),
+ |mut res, (_, v)| {
+ res.extend(v.to_network());
-// res
-// },
-// )),
-// );
+ res
+ },
+ )),
+ );
-// let channels = self
-// .irc_channels
-// .iter()
-// .fold(HashMap::new(), |mut res, (_, v)| {
-// res.extend(v.to_network());
+ let channels = self
+ .irc_channels
+ .iter()
+ .fold(HashMap::new(), |mut res, (_, v)| {
+ res.extend(v.to_network());
-// res
-// });
+ res
+ });
-// map.insert(s!("Channels"), Variant::VariantMap(channels));
+ map.insert(s!("Channels"), Variant::VariantMap(channels));
-// res.push(Variant::ByteArray(s!("IrcUsersAndChannels")));
-// res.push(Variant::VariantMap(map));
-// }
+ res.push(Variant::ByteArray(s!("IrcUsersAndChannels")));
+ res.push(Variant::VariantMap(map));
+ }
-// res.extend(self.network_info.to_network());
+ res.extend(self.network_info.to_network());
-// res
-// }
+ res
+ }
-// fn from_network(input: Self::Item) -> Self {
-// let users_and_channels = match_variant!(
-// input
-// .iter()
-// .nth(
-// input
-// .iter()
-// .position(|x| *x == Variant::ByteArray(s!("IrcUsersAndChannels")))
-// .unwrap()
-// )
-// .unwrap(),
-// Variant::VariantMap
-// );
+ fn from_network(input: &mut Self::Item) -> Self {
+ let users_and_channels = match_variant!(
+ input
+ .iter()
+ .nth(
+ input
+ .iter()
+ .position(|x| *x == Variant::ByteArray(s!("IrcUsersAndChannels")))
+ .unwrap()
+ )
+ .unwrap(),
+ Variant::VariantMap
+ );
-// let res = Self {
-// my_nick: match_variant!(
-// input
-// .iter()
-// .nth(
-// input
-// .iter()
-// .position(|x| *x == Variant::ByteArray(s!("myNick")))
-// .unwrap()
-// )
-// .unwrap(),
-// Variant::String
-// ),
-// latency: match_variant!(
-// input
-// .iter()
-// .nth(
-// input
-// .iter()
-// .position(|x| *x == Variant::ByteArray(s!("latency")))
-// .unwrap()
-// )
-// .unwrap(),
-// Variant::i32
-// ),
-// current_server: match_variant!(
-// input
-// .iter()
-// .nth(
-// input
-// .iter()
-// .position(|x| *x == Variant::ByteArray(s!("currentServer")))
-// .unwrap()
-// )
-// .unwrap(),
-// Variant::String
-// ),
-// is_connected: match_variant!(
-// input
-// .iter()
-// .nth(
-// input
-// .iter()
-// .position(|x| *x == Variant::ByteArray(s!("isConnected")))
-// .unwrap()
-// )
-// .unwrap(),
-// Variant::bool
-// ),
-// connection_state: ConnectionState::from_i32(match_variant!(
-// input
-// .iter()
-// .nth(
-// input
-// .iter()
-// .position(|x| *x == Variant::ByteArray(s!("connectionState")))
-// .unwrap()
-// )
-// .unwrap(),
-// Variant::i32
-// ))
-// .unwrap(),
-// irc_users: match_variant!(
-// users_and_channels.get("Users").unwrap(),
-// Variant::VariantMap
-// )
-// .iter()
-// .map(|(k, v)| (k, IrcUser::from_network(v))),
-// irc_channels: match_variant!(
-// users_and_channels.get("Channels").unwrap(),
-// Variant::VariantMap
-// )
-// .iter()
-// .map(|(k, v)| (k, match_variant!(v, Variant::VariantList))),
-// supports: match_variant!(
-// input
-// .iter()
-// .nth(
-// input
-// .iter()
-// .position(|x| *x == Variant::ByteArray(s!("Supports")))
-// .unwrap()
-// )
-// .unwrap(),
-// Variant::VariantMap
-// )
-// .iter()
-// .map(|(k, v)| (k.clone(), match_variant!(v, Variant::String)))
-// .collect(),
-// caps: match_variant!(
-// input
-// .iter()
-// .nth(
-// input
-// .iter()
-// .position(|x| *x == Variant::ByteArray(s!("Caps")))
-// .unwrap()
-// )
-// .unwrap(),
-// Variant::VariantMap
-// )
-// .iter()
-// .map(|(k, v)| (k.clone(), match_variant!(v, Variant::String)))
-// .collect(),
-// caps_enabled: match_variant!(
-// input
-// .iter()
-// .nth(
-// input
-// .iter()
-// .position(|x| *x == Variant::ByteArray(s!("CapsEnabled")))
-// .unwrap()
-// )
-// .unwrap(),
-// Variant::VariantList
-// )
-// .iter()
-// .map(|v| match_variant!(v, Variant::String))
-// .collect(),
-// network_info: NetworkInfo::from_network(input),
-// };
+ let res = Self {
+ my_nick: match_variant!(
+ input
+ .iter()
+ .nth(
+ input
+ .iter()
+ .position(|x| *x == Variant::ByteArray(s!("myNick")))
+ .unwrap()
+ )
+ .unwrap(),
+ Variant::String
+ ),
+ latency: match_variant!(
+ input
+ .iter()
+ .nth(
+ input
+ .iter()
+ .position(|x| *x == Variant::ByteArray(s!("latency")))
+ .unwrap()
+ )
+ .unwrap(),
+ Variant::i32
+ ),
+ current_server: match_variant!(
+ input
+ .iter()
+ .nth(
+ input
+ .iter()
+ .position(|x| *x == Variant::ByteArray(s!("currentServer")))
+ .unwrap()
+ )
+ .unwrap(),
+ Variant::String
+ ),
+ is_connected: match_variant!(
+ input
+ .iter()
+ .nth(
+ input
+ .iter()
+ .position(|x| *x == Variant::ByteArray(s!("isConnected")))
+ .unwrap()
+ )
+ .unwrap(),
+ Variant::bool
+ ),
+ connection_state: ConnectionState::from_i32(match_variant!(
+ input
+ .iter()
+ .nth(
+ input
+ .iter()
+ .position(|x| *x == Variant::ByteArray(s!("connectionState")))
+ .unwrap()
+ )
+ .unwrap(),
+ Variant::i32
+ ))
+ .unwrap(),
+ irc_users: match_variant!(
+ users_and_channels.get("Users").unwrap(),
+ Variant::VariantMap
+ )
+ .iter()
+ .map(|(k, v)| (k, IrcUser::from_network(v))),
+ irc_channels: match_variant!(
+ users_and_channels.get("Channels").unwrap(),
+ Variant::VariantMap
+ )
+ .iter()
+ .map(|(k, v)| (k, match_variant!(v, Variant::VariantList))),
+ supports: match_variant!(
+ input
+ .iter()
+ .nth(
+ input
+ .iter()
+ .position(|x| *x == Variant::ByteArray(s!("Supports")))
+ .unwrap()
+ )
+ .unwrap(),
+ Variant::VariantMap
+ )
+ .iter()
+ .map(|(k, v)| (k.clone(), match_variant!(v, Variant::String)))
+ .collect(),
+ caps: match_variant!(
+ input
+ .iter()
+ .nth(
+ input
+ .iter()
+ .position(|x| *x == Variant::ByteArray(s!("Caps")))
+ .unwrap()
+ )
+ .unwrap(),
+ Variant::VariantMap
+ )
+ .iter()
+ .map(|(k, v)| (k.clone(), match_variant!(v, Variant::String)))
+ .collect(),
+ caps_enabled: match_variant!(
+ input
+ .iter()
+ .nth(
+ input
+ .iter()
+ .position(|x| *x == Variant::ByteArray(s!("CapsEnabled")))
+ .unwrap()
+ )
+ .unwrap(),
+ Variant::VariantList
+ )
+ .iter()
+ .map(|v| match_variant!(v, Variant::String))
+ .collect(),
+ network_info: NetworkInfo::from_network(input),
+ };
-// todo!()
-// }
-// }
+ todo!()
+ }
+}
#[allow(dead_code)]
#[derive(Debug, Clone, PartialEq, Network)]