aboutsummaryrefslogtreecommitdiff
path: root/src/message/signalproxy/objects/aliasmanager.rs
diff options
context:
space:
mode:
authorMax Audron <audron@cocaine.farm>2022-10-04 09:16:26 +0200
committerMax Audron <audron@cocaine.farm>2022-10-04 09:16:26 +0200
commit492cf38cbb67d14d7a4b56aba3076fcc37e8967d (patch)
treec28a7f2c4c9ead2aa857a82dafff7ccd39d7b20c /src/message/signalproxy/objects/aliasmanager.rs
parentset network prefixes and channel_modes fields (diff)
derive default for all signalproxy objects and make singalmessage class
an enum
Diffstat (limited to '')
-rw-r--r--src/message/signalproxy/objects/aliasmanager.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/message/signalproxy/objects/aliasmanager.rs b/src/message/signalproxy/objects/aliasmanager.rs
index 6aa7b06..489d8c8 100644
--- a/src/message/signalproxy/objects/aliasmanager.rs
+++ b/src/message/signalproxy/objects/aliasmanager.rs
@@ -1,5 +1,8 @@
+#[allow(unused_imports)]
+use libquassel_derive::sync;
use libquassel_derive::{NetworkList, NetworkMap};
+use crate::message::Class;
#[allow(unused_imports)]
use crate::message::StatefulSyncableClient;
#[allow(unused_imports)]
@@ -15,7 +18,7 @@ use crate::primitive::VariantMap;
/// AliasManager
/// keeps a list of all registered aliases
/// syncable
-#[derive(Clone, Debug, std::cmp::PartialEq, NetworkList, NetworkMap)]
+#[derive(Clone, Default, Debug, std::cmp::PartialEq, NetworkList, NetworkMap)]
pub struct AliasManager {
#[network(rename = "Aliases", variant = "VariantMap", network, map)]
pub aliases: Vec<Alias>,
@@ -23,7 +26,9 @@ pub struct AliasManager {
impl AliasManager {
pub fn add_alias(&mut self, alias: Alias) {
- // TODO check if name is equal
+ #[cfg(feature = "server")]
+ sync!("addAlias", [alias.to_network_map()]);
+
if !self.aliases.contains(&alias) {
self.aliases.push(alias)
}
@@ -49,7 +54,7 @@ impl StatefulSyncableServer for AliasManager {
}
impl Syncable for AliasManager {
- const CLASS: &'static str = "AliasManager";
+ const CLASS: Class = Class::AliasManager;
}
/// Alias