diff options
| author | Max Audron <audron@cocaine.farm> | 2021-07-21 18:36:35 +0200 |
|---|---|---|
| committer | Max Audron <audron@cocaine.farm> | 2021-07-21 18:36:35 +0200 |
| commit | 25c6a6c09ae648e492b8370f5f55406b4e88e138 (patch) | |
| tree | 8be5137a0cc14dc9750406e4606b509da36f781e | |
| parent | add IgnoreListManager (diff) | |
cleanup objects::Types
Diffstat (limited to '')
| -rw-r--r-- | src/message/signalproxy/objects/mod.rs | 40 |
1 files changed, 35 insertions, 5 deletions
diff --git a/src/message/signalproxy/objects/mod.rs b/src/message/signalproxy/objects/mod.rs index 2b8947a..59c196d 100644 --- a/src/message/signalproxy/objects/mod.rs +++ b/src/message/signalproxy/objects/mod.rs @@ -27,22 +27,44 @@ pub use network::*; pub use networkinfo::*; use libquassel_derive::From; +use log::debug; use super::Network; use crate::primitive::VariantList; +/// Central Enum containing and identifying all Quassel Protocol Types: +/// +/// - [X] AliasManager +/// - [ ] BacklogManager +/// - [X] BufferSyncer +/// - [X] BufferViewConfig +/// - [X] BufferViewManager +/// - [X] CertManager +/// - [X] CoreInfo +/// - [X] CoreData +/// - [X] HighlightRuleManager +/// - [ ] Identity +/// - [X] IgnoreListManager +/// - [ ] IrcChannel +/// - [ ] IrcListHelper +/// - [ ] IrcUser +/// - [X] Network +/// - [X] NetworkInfo +/// - [X] NetworkConfig #[derive(Debug, Clone, PartialEq, From)] pub enum Types { AliasManager(AliasManager), BufferSyncer(BufferSyncer), BufferViewConfig(BufferViewConfig), BufferViewManager(BufferViewManager), + CoreInfo(CoreInfo), + CoreData(CoreData), + HighlightRuleManager(HighlightRuleManager), IgnoreListManager(IgnoreListManager), CertManager(CertManager), Network(network::Network), NetworkInfo(NetworkInfo), NetworkConfig(NetworkConfig), - CoreData(CoreData), Unknown(VariantList), } @@ -54,12 +76,14 @@ impl Types { Types::BufferSyncer(val) => val.to_network(), Types::BufferViewConfig(val) => val.to_network(), Types::BufferViewManager(val) => val.to_network(), + Types::CoreInfo(val) => vec![val.to_network().into()], + Types::CoreData(val) => vec![val.to_network().into()], + Types::HighlightRuleManager(val) => val.to_network(), Types::IgnoreListManager(val) => val.to_network(), Types::CertManager(val) => val.to_network(), Types::Network(val) => val.to_network(), Types::NetworkInfo(val) => val.to_network(), Types::NetworkConfig(val) => val.to_network(), - Types::CoreData(val) => vec![val.to_network().into()], Types::Unknown(val) => val.clone(), } } @@ -70,18 +94,24 @@ impl Types { class_name, input ); match class_name { - "Network" => Types::Network(Network::from_network(input)), - "NetworkInfo" => Types::NetworkInfo(NetworkInfo::from_network(input)), - "NetworkConfig" => Types::NetworkConfig(NetworkConfig::from_network(input)), "AliasManager" => Types::AliasManager(AliasManager::from_network(input)), "BufferSyncer" => Types::BufferSyncer(BufferSyncer::from_network(input)), "BufferViewConfig" => Types::BufferViewConfig(BufferViewConfig::from_network(input)), "BufferViewManager" => Types::BufferViewManager(BufferViewManager::from_network(input)), + "CoreInfo" => Types::CoreInfo(CoreInfo::from_network( + &mut input.remove(0).try_into().unwrap(), + )), "CoreData" => Types::CoreData(CoreData::from_network( &mut input.remove(0).try_into().unwrap(), )), + "HighlightRuleManager" => { + Types::HighlightRuleManager(HighlightRuleManager::from_network(input)) + } "IgnoreListManager" => Types::IgnoreListManager(IgnoreListManager::from_network(input)), "CertManager" => Types::CertManager(CertManager::from_network(input)), + "Network" => Types::Network(Network::from_network(input)), + "NetworkInfo" => Types::NetworkInfo(NetworkInfo::from_network(input)), + "NetworkConfig" => Types::NetworkConfig(NetworkConfig::from_network(input)), _ => Types::Unknown(input.to_owned()), } } |
