From 1e481d4c9ae70333dae508aae5dbe5e78aa9abc4 Mon Sep 17 00:00:00 2001 From: Nick Thomas Date: Sun, 17 May 2020 22:49:41 +0100 Subject: [PATCH] Wire up the additional channel interfaces a bit --- src/padfoot/channel/messages.rs | 15 ++++++++++----- src/padfoot/channel/type_text.rs | 4 +++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/padfoot/channel/messages.rs b/src/padfoot/channel/messages.rs index eb25fd5..67aa5f3 100644 --- a/src/padfoot/channel/messages.rs +++ b/src/padfoot/channel/messages.rs @@ -32,26 +32,31 @@ impl telepathy::ChannelInterfaceMessages for Channel { fn supported_content_types(&self) -> Result> { println!("Channel::supported_content_types()"); - Err(MethodErr::no_arg()) + + Ok(vec!["text/plain".to_string()]) // TODO: image support } fn message_types(&self) -> Result> { println!("Channel::message_types()"); - Err(MethodErr::no_arg()) + + Ok(vec![0]) // Normal messages. FIXME: MDNs too } fn message_part_support_flags(&self) -> Result { println!("Channel::message_part_support_flags()"); - Err(MethodErr::no_arg()) + + Ok(0) // FIXME: support multipart messages } fn pending_messages(&self) -> Result>>> { println!("Channel::pending_messages()"); - Err(MethodErr::no_arg()) + + Ok(vec![]) // FIXME: check for pending messages } fn delivery_reporting_support(&self) -> Result { println!("Channel::delivery_reporting_support()"); - Err(MethodErr::no_arg()) + + Ok(0) // FIXME: MDNs } } diff --git a/src/padfoot/channel/type_text.rs b/src/padfoot/channel/type_text.rs index a6bbdea..32f580e 100644 --- a/src/padfoot/channel/type_text.rs +++ b/src/padfoot/channel/type_text.rs @@ -1,4 +1,5 @@ use crate::telepathy; +use crate::telepathy::ChannelInterfaceMessages; use dbus::tree::MethodErr; use super::{Channel, Result}; @@ -28,7 +29,8 @@ impl telepathy::ChannelTypeText for Channel { fn get_message_types(&self) -> Result> { println!("Channel::get_message_types()"); - Err(MethodErr::no_arg()) + + self.message_types() } fn list_pending_messages(&self, clear: bool) -> Result> {