2020-05-11 00:48:18 +01:00
// This code was autogenerated with `dbus-codegen-rust --file telepathy-spec/spec/Channel_Interface_Room.xml -i org.freedesktop.Telepathy -a AsRefClosure -o src/telepathy/channel_interface_room.rs`, see https://github.com/diwic/dbus-rs
2020-05-08 20:38:30 +01:00
use dbus ;
use dbus ::arg ;
use dbus ::tree ;
pub trait ChannelInterfaceRoom2 {
fn room_name ( & self ) -> Result < String , tree ::MethodErr > ;
fn server ( & self ) -> Result < String , tree ::MethodErr > ;
fn creator ( & self ) -> Result < String , tree ::MethodErr > ;
fn creator_handle ( & self ) -> Result < u32 , tree ::MethodErr > ;
fn creation_timestamp ( & self ) -> Result < i64 , tree ::MethodErr > ;
}
pub fn channel_interface_room2_server < F , T , D > (
factory : & tree ::Factory < tree ::MTFn < D > , D > ,
data : D ::Interface ,
f : F ,
) -> tree ::Interface < tree ::MTFn < D > , D >
where
D : tree ::DataType ,
D ::Method : Default ,
D ::Property : Default ,
2020-05-11 00:48:18 +01:00
T : AsRef < dyn ChannelInterfaceRoom2 > ,
F : 'static + Fn ( & tree ::MethodInfo < tree ::MTFn < D > , D > ) -> T ,
2020-05-08 20:38:30 +01:00
{
let i = factory . interface ( " org.freedesktop.Telepathy.Channel.Interface.Room2 " , data ) ;
let f = ::std ::sync ::Arc ::new ( f ) ;
let p = factory . property ::< & str , _ > ( " RoomName " , Default ::default ( ) ) ;
let p = p . access ( tree ::Access ::Read ) ;
let fclone = f . clone ( ) ;
let p = p . on_get ( move | a , pinfo | {
let minfo = pinfo . to_method_info ( ) ;
2020-05-11 00:48:18 +01:00
let dd = fclone ( & minfo ) ;
let d = dd . as_ref ( ) ;
2020-05-08 20:38:30 +01:00
a . append ( d . room_name ( ) ? ) ;
Ok ( ( ) )
} ) ;
let i = i . add_p ( p ) ;
let p = factory . property ::< & str , _ > ( " Server " , Default ::default ( ) ) ;
let p = p . access ( tree ::Access ::Read ) ;
let fclone = f . clone ( ) ;
let p = p . on_get ( move | a , pinfo | {
let minfo = pinfo . to_method_info ( ) ;
2020-05-11 00:48:18 +01:00
let dd = fclone ( & minfo ) ;
let d = dd . as_ref ( ) ;
2020-05-08 20:38:30 +01:00
a . append ( d . server ( ) ? ) ;
Ok ( ( ) )
} ) ;
let i = i . add_p ( p ) ;
let p = factory . property ::< & str , _ > ( " Creator " , Default ::default ( ) ) ;
let p = p . access ( tree ::Access ::Read ) ;
let fclone = f . clone ( ) ;
let p = p . on_get ( move | a , pinfo | {
let minfo = pinfo . to_method_info ( ) ;
2020-05-11 00:48:18 +01:00
let dd = fclone ( & minfo ) ;
let d = dd . as_ref ( ) ;
2020-05-08 20:38:30 +01:00
a . append ( d . creator ( ) ? ) ;
Ok ( ( ) )
} ) ;
let i = i . add_p ( p ) ;
let p = factory . property ::< u32 , _ > ( " CreatorHandle " , Default ::default ( ) ) ;
let p = p . access ( tree ::Access ::Read ) ;
let fclone = f . clone ( ) ;
let p = p . on_get ( move | a , pinfo | {
let minfo = pinfo . to_method_info ( ) ;
2020-05-11 00:48:18 +01:00
let dd = fclone ( & minfo ) ;
let d = dd . as_ref ( ) ;
2020-05-08 20:38:30 +01:00
a . append ( d . creator_handle ( ) ? ) ;
Ok ( ( ) )
} ) ;
let i = i . add_p ( p ) ;
let p = factory . property ::< i64 , _ > ( " CreationTimestamp " , Default ::default ( ) ) ;
let p = p . access ( tree ::Access ::Read ) ;
let fclone = f . clone ( ) ;
let p = p . on_get ( move | a , pinfo | {
let minfo = pinfo . to_method_info ( ) ;
2020-05-11 00:48:18 +01:00
let dd = fclone ( & minfo ) ;
let d = dd . as_ref ( ) ;
2020-05-08 20:38:30 +01:00
a . append ( d . creation_timestamp ( ) ? ) ;
Ok ( ( ) )
} ) ;
let i = i . add_p ( p ) ;
i
}