use crate::{DBusMethodInfo, DBusPropertyInfo, DBusSignalInfo};
use glib::translate::*;
glib::wrapper! {
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct DBusInterfaceInfo(Shared<ffi::GDBusInterfaceInfo>);
match fn {
ref => |ptr| ffi::g_dbus_interface_info_ref(ptr),
unref => |ptr| ffi::g_dbus_interface_info_unref(ptr),
type_ => || ffi::g_dbus_interface_info_get_type(),
}
}
impl DBusInterfaceInfo {
#[doc(alias = "g_dbus_interface_info_lookup_method")]
pub fn lookup_method(&self, name: &str) -> Option<DBusMethodInfo> {
unsafe {
from_glib_none(ffi::g_dbus_interface_info_lookup_method(
self.to_glib_none().0,
name.to_glib_none().0,
))
}
}
#[doc(alias = "g_dbus_interface_info_lookup_property")]
pub fn lookup_property(&self, name: &str) -> Option<DBusPropertyInfo> {
unsafe {
from_glib_none(ffi::g_dbus_interface_info_lookup_property(
self.to_glib_none().0,
name.to_glib_none().0,
))
}
}
#[doc(alias = "g_dbus_interface_info_lookup_signal")]
pub fn lookup_signal(&self, name: &str) -> Option<DBusSignalInfo> {
unsafe {
from_glib_none(ffi::g_dbus_interface_info_lookup_signal(
self.to_glib_none().0,
name.to_glib_none().0,
))
}
}
}