aboutsummaryrefslogtreecommitdiff
path: root/src/message/signalproxy/objects/aliasmanager.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/message/signalproxy/objects/aliasmanager.rs')
-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