use dbus_tree::{Access, EmitsChangedSignal, Factory, MTSync, Method, Property};
use crate::dbus_api::{
consts,
pool::pool_2_1::{
methods::{add_cachedevs, init_cache},
props::get_pool_encrypted,
},
types::TData,
};
pub fn init_cache_method(f: &Factory<MTSync<TData>, TData>) -> Method<MTSync<TData>, TData> {
f.method("InitCache", (), init_cache)
.in_arg(("devices", "as"))
.out_arg(("results", "(bao)"))
.out_arg(("return_code", "q"))
.out_arg(("return_string", "s"))
}
pub fn add_cachedevs_method(f: &Factory<MTSync<TData>, TData>) -> Method<MTSync<TData>, TData> {
f.method("AddCacheDevs", (), add_cachedevs)
.in_arg(("devices", "as"))
.out_arg(("results", "(bao)"))
.out_arg(("return_code", "q"))
.out_arg(("return_string", "s"))
}
pub fn encrypted_property(f: &Factory<MTSync<TData>, TData>) -> Property<MTSync<TData>, TData> {
f.property::<bool, _>(consts::POOL_ENCRYPTED_PROP, ())
.access(Access::Read)
.emits_changed(EmitsChangedSignal::Const)
.on_get(get_pool_encrypted)
}