aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Audron <audron@cocaine.farm>2021-07-21 18:36:35 +0200
committerMax Audron <audron@cocaine.farm>2021-07-21 18:36:35 +0200
commit25c6a6c09ae648e492b8370f5f55406b4e88e138 (patch)
tree8be5137a0cc14dc9750406e4606b509da36f781e
parentadd IgnoreListManager (diff)
cleanup objects::Types
-rw-r--r--src/message/signalproxy/objects/mod.rs40
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()),
}
}