#[repr(transparent)]pub struct DBusProxy { /* private fields */ }
Expand description
DBusProxy
is a base class used for proxies to access a D-Bus
interface on a remote object. A DBusProxy
can be constructed for
both well-known and unique names.
By default, DBusProxy
will cache all properties (and listen to
changes) of the remote object, and proxy all signals that get
emitted. This behaviour can be changed by passing suitable
DBusProxyFlags
when the proxy is created. If the proxy is for a
well-known name, the property cache is flushed when the name owner
vanishes and reloaded when a name owner appears.
The unique name owner of the proxy’s name is tracked and can be read from
property::DBusProxy::g-name-owner
. Connect to the signal::glib::Object::notify
signal to
get notified of changes. Additionally, only signals and property
changes emitted from the current name owner are considered and
calls are always sent to the current name owner. This avoids a
number of race conditions when the name is lost by one owner and
claimed by another. However, if no name owner currently exists,
then calls will be sent to the well-known name which may result in
the message bus launching an owner (unless
DBusProxyFlags::DO_NOT_AUTO_START
is set).
If the proxy is for a stateless D-Bus service, where the name owner may
be started and stopped between calls, the property::DBusProxy::g-name-owner
tracking
of DBusProxy
will cause the proxy to drop signal and property changes from
the service after it has restarted for the first time. When interacting
with a stateless D-Bus service, do not use DBusProxy
— use direct D-Bus
method calls and signal connections.
The generic signal::DBusProxy::g-properties-changed
and
signal::DBusProxy::g-signal
signals are not very convenient to work with.
Therefore, the recommended way of working with proxies is to subclass
DBusProxy
, and have more natural properties and signals in your derived
class. This [example][gdbus-example-gdbus-codegen] shows how this can
easily be done using the [gdbus-codegen][gdbus-codegen] tool.
A DBusProxy
instance can be used from multiple threads but note
that all signals (e.g. signal::DBusProxy::g-signal
, signal::DBusProxy::g-properties-changed
and signal::glib::Object::notify
) are emitted in the
[thread-default main context][g-main-context-push-thread-default]
of the thread where the instance was constructed.
An example using a proxy for a well-known name can be found in gdbus-example-watch-proxy.c
Implements
DBusProxyExt
, glib::ObjectExt
, AsyncInitableExt
, DBusInterfaceExt
, InitableExt
, DBusProxyExtManual
Implementations
sourceimpl DBusProxy
impl DBusProxy
pub const NONE: Option<&'static DBusProxy> = None
sourcepub fn for_bus_sync(
bus_type: BusType,
flags: DBusProxyFlags,
info: Option<&DBusInterfaceInfo>,
name: &str,
object_path: &str,
interface_name: &str,
cancellable: Option<&impl IsA<Cancellable>>
) -> Result<DBusProxy, Error>
pub fn for_bus_sync(
bus_type: BusType,
flags: DBusProxyFlags,
info: Option<&DBusInterfaceInfo>,
name: &str,
object_path: &str,
interface_name: &str,
cancellable: Option<&impl IsA<Cancellable>>
) -> Result<DBusProxy, Error>
Like new_sync()
but takes a BusType
instead of a DBusConnection
.
DBusProxy
is used in this [example][gdbus-wellknown-proxy].
bus_type
A BusType
.
flags
Flags used when constructing the proxy.
info
A DBusInterfaceInfo
specifying the minimal interface
that proxy
conforms to or None
.
name
A bus name (well-known or unique).
object_path
An object path.
interface_name
A D-Bus interface name.
cancellable
A Cancellable
or None
.
Returns
A DBusProxy
or None
if error is set.
Free with g_object_unref()
.
sourcepub fn new_sync(
connection: &DBusConnection,
flags: DBusProxyFlags,
info: Option<&DBusInterfaceInfo>,
name: Option<&str>,
object_path: &str,
interface_name: &str,
cancellable: Option<&impl IsA<Cancellable>>
) -> Result<DBusProxy, Error>
pub fn new_sync(
connection: &DBusConnection,
flags: DBusProxyFlags,
info: Option<&DBusInterfaceInfo>,
name: Option<&str>,
object_path: &str,
interface_name: &str,
cancellable: Option<&impl IsA<Cancellable>>
) -> Result<DBusProxy, Error>
Creates a proxy for accessing interface_name
on the remote object
at object_path
owned by name
at connection
and synchronously
loads D-Bus properties unless the
DBusProxyFlags::DO_NOT_LOAD_PROPERTIES
flag is used.
If the DBusProxyFlags::DO_NOT_CONNECT_SIGNALS
flag is not set, also sets up
match rules for signals. Connect to the signal::DBusProxy::g-signal
signal
to handle signals from the remote object.
If both DBusProxyFlags::DO_NOT_LOAD_PROPERTIES
and
DBusProxyFlags::DO_NOT_CONNECT_SIGNALS
are set, this constructor is
guaranteed to return immediately without blocking.
If name
is a well-known name and the
DBusProxyFlags::DO_NOT_AUTO_START
and DBusProxyFlags::DO_NOT_AUTO_START_AT_CONSTRUCTION
flags aren’t set and no name owner currently exists, the message bus
will be requested to launch a name owner for the name.
This is a synchronous failable constructor. See new()
and g_dbus_proxy_new_finish()
for the asynchronous version.
DBusProxy
is used in this [example][gdbus-wellknown-proxy].
connection
flags
Flags used when constructing the proxy.
info
A DBusInterfaceInfo
specifying the minimal interface that proxy
conforms to or None
.
name
A bus name (well-known or unique) or None
if connection
is not a message bus connection.
object_path
An object path.
interface_name
A D-Bus interface name.
cancellable
A Cancellable
or None
.
Returns
A DBusProxy
or None
if error is set.
Free with g_object_unref()
.
sourcepub fn new<P: FnOnce(Result<DBusProxy, Error>) + 'static>(
connection: &DBusConnection,
flags: DBusProxyFlags,
info: Option<&DBusInterfaceInfo>,
name: Option<&str>,
object_path: &str,
interface_name: &str,
cancellable: Option<&impl IsA<Cancellable>>,
callback: P
)
pub fn new<P: FnOnce(Result<DBusProxy, Error>) + 'static>(
connection: &DBusConnection,
flags: DBusProxyFlags,
info: Option<&DBusInterfaceInfo>,
name: Option<&str>,
object_path: &str,
interface_name: &str,
cancellable: Option<&impl IsA<Cancellable>>,
callback: P
)
Creates a proxy for accessing interface_name
on the remote object
at object_path
owned by name
at connection
and asynchronously
loads D-Bus properties unless the
DBusProxyFlags::DO_NOT_LOAD_PROPERTIES
flag is used. Connect to
the signal::DBusProxy::g-properties-changed
signal to get notified about
property changes.
If the DBusProxyFlags::DO_NOT_CONNECT_SIGNALS
flag is not set, also sets up
match rules for signals. Connect to the signal::DBusProxy::g-signal
signal
to handle signals from the remote object.
If both DBusProxyFlags::DO_NOT_LOAD_PROPERTIES
and
DBusProxyFlags::DO_NOT_CONNECT_SIGNALS
are set, this constructor is
guaranteed to complete immediately without blocking.
If name
is a well-known name and the
DBusProxyFlags::DO_NOT_AUTO_START
and DBusProxyFlags::DO_NOT_AUTO_START_AT_CONSTRUCTION
flags aren’t set and no name owner currently exists, the message bus
will be requested to launch a name owner for the name.
This is a failable asynchronous constructor - when the proxy is
ready, callback
will be invoked and you can use
g_dbus_proxy_new_finish()
to get the result.
See new_sync()
and for a synchronous version of this constructor.
DBusProxy
is used in this [example][gdbus-wellknown-proxy].
connection
flags
Flags used when constructing the proxy.
info
A DBusInterfaceInfo
specifying the minimal interface that proxy
conforms to or None
.
name
A bus name (well-known or unique) or None
if connection
is not a message bus connection.
object_path
An object path.
interface_name
A D-Bus interface name.
cancellable
A Cancellable
or None
.
callback
Callback function to invoke when the proxy is ready.
pub fn new_future(
connection: &DBusConnection,
flags: DBusProxyFlags,
info: Option<&DBusInterfaceInfo>,
name: Option<&str>,
object_path: &str,
interface_name: &str
) -> Pin<Box_<dyn Future<Output = Result<DBusProxy, Error>> + 'static>>
sourcepub fn for_bus<P: FnOnce(Result<DBusProxy, Error>) + 'static>(
bus_type: BusType,
flags: DBusProxyFlags,
info: Option<&DBusInterfaceInfo>,
name: &str,
object_path: &str,
interface_name: &str,
cancellable: Option<&impl IsA<Cancellable>>,
callback: P
)
pub fn for_bus<P: FnOnce(Result<DBusProxy, Error>) + 'static>(
bus_type: BusType,
flags: DBusProxyFlags,
info: Option<&DBusInterfaceInfo>,
name: &str,
object_path: &str,
interface_name: &str,
cancellable: Option<&impl IsA<Cancellable>>,
callback: P
)
Like new()
but takes a BusType
instead of a DBusConnection
.
DBusProxy
is used in this [example][gdbus-wellknown-proxy].
bus_type
A BusType
.
flags
Flags used when constructing the proxy.
info
A DBusInterfaceInfo
specifying the minimal interface that proxy
conforms to or None
.
name
A bus name (well-known or unique).
object_path
An object path.
interface_name
A D-Bus interface name.
cancellable
A Cancellable
or None
.
callback
Callback function to invoke when the proxy is ready.
pub fn for_bus_future(
bus_type: BusType,
flags: DBusProxyFlags,
info: Option<&DBusInterfaceInfo>,
name: &str,
object_path: &str,
interface_name: &str
) -> Pin<Box_<dyn Future<Output = Result<DBusProxy, Error>> + 'static>>
Trait Implementations
sourceimpl Ord for DBusProxy
impl Ord for DBusProxy
sourceimpl ParentClassIs for DBusProxy
impl ParentClassIs for DBusProxy
sourceimpl<OT: ObjectType> PartialEq<OT> for DBusProxy
impl<OT: ObjectType> PartialEq<OT> for DBusProxy
sourceimpl<OT: ObjectType> PartialOrd<OT> for DBusProxy
impl<OT: ObjectType> PartialOrd<OT> for DBusProxy
sourcefn partial_cmp(&self, other: &OT) -> Option<Ordering>
fn partial_cmp(&self, other: &OT) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl StaticType for DBusProxy
impl StaticType for DBusProxy
sourcefn static_type() -> Type
fn static_type() -> Type
Returns the type identifier of Self
.
impl Eq for DBusProxy
impl IsA<AsyncInitable> for DBusProxy
impl IsA<DBusInterface> for DBusProxy
impl IsA<Initable> for DBusProxy
impl Send for DBusProxy
impl Sync for DBusProxy
Auto Trait Implementations
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Cast for T where
T: ObjectType,
impl<T> Cast for T where
T: ObjectType,
sourcefn upcast<T>(self) -> T where
T: ObjectType,
Self: IsA<T>,
fn upcast<T>(self) -> T where
T: ObjectType,
Self: IsA<T>,
Upcasts an object to a superclass or interface T
. Read more
sourcefn upcast_ref<T>(&self) -> &T where
T: ObjectType,
Self: IsA<T>,
fn upcast_ref<T>(&self) -> &T where
T: ObjectType,
Self: IsA<T>,
Upcasts an object to a reference of its superclass or interface T
. Read more
sourcefn downcast<T>(self) -> Result<T, Self> where
T: ObjectType,
Self: CanDowncast<T>,
fn downcast<T>(self) -> Result<T, Self> where
T: ObjectType,
Self: CanDowncast<T>,
Tries to downcast to a subclass or interface implementor T
. Read more
sourcefn downcast_ref<T>(&self) -> Option<&T> where
T: ObjectType,
Self: CanDowncast<T>,
fn downcast_ref<T>(&self) -> Option<&T> where
T: ObjectType,
Self: CanDowncast<T>,
Tries to downcast to a reference of its subclass or interface implementor T
. Read more
sourcefn dynamic_cast<T>(self) -> Result<T, Self> where
T: ObjectType,
fn dynamic_cast<T>(self) -> Result<T, Self> where
T: ObjectType,
Tries to cast to an object of type T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast
and upcast
will do many checks at compile-time already. Read more
sourcefn dynamic_cast_ref<T>(&self) -> Option<&T> where
T: ObjectType,
fn dynamic_cast_ref<T>(&self) -> Option<&T> where
T: ObjectType,
Tries to cast to reference to an object of type T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast
and upcast
will do many checks at compile-time already. Read more
sourceunsafe fn unsafe_cast<T>(self) -> T where
T: ObjectType,
unsafe fn unsafe_cast<T>(self) -> T where
T: ObjectType,
Casts to T
unconditionally. Read more
sourceunsafe fn unsafe_cast_ref<T>(&self) -> &T where
T: ObjectType,
unsafe fn unsafe_cast_ref<T>(&self) -> &T where
T: ObjectType,
Casts to &T
unconditionally. Read more
sourceimpl<U> IsSubclassableExt for U where
U: IsClass + ParentClassIs,
impl<U> IsSubclassableExt for U where
U: IsClass + ParentClassIs,
fn parent_class_init<T>(class: &mut Class<U>) where
T: ObjectSubclass,
<U as ParentClassIs>::Parent: IsSubclassable<T>,
fn parent_instance_init<T>(instance: &mut InitializingObject<T>) where
T: ObjectSubclass,
<U as ParentClassIs>::Parent: IsSubclassable<T>,
sourceimpl<T> ObjectExt for T where
T: ObjectType,
impl<T> ObjectExt for T where
T: ObjectType,
sourcefn is<U>(&self) -> bool where
U: StaticType,
fn is<U>(&self) -> bool where
U: StaticType,
Returns true
if the object is an instance of (can be cast to) T
.
sourcefn object_class(&self) -> &Class<Object>
fn object_class(&self) -> &Class<Object>
Returns the ObjectClass
of the object. Read more
sourcefn class_of<U>(&self) -> Option<&Class<U>> where
U: IsClass,
fn class_of<U>(&self) -> Option<&Class<U>> where
U: IsClass,
Returns the class of the object in the given type T
. Read more
sourcefn interface<U>(&self) -> Option<InterfaceRef<'_, U>> where
U: IsInterface,
fn interface<U>(&self) -> Option<InterfaceRef<'_, U>> where
U: IsInterface,
Returns the interface T
of the object. Read more
sourcefn try_set_property<V>(
&self,
property_name: &str,
value: V
) -> Result<(), BoolError> where
V: ToValue,
fn try_set_property<V>(
&self,
property_name: &str,
value: V
) -> Result<(), BoolError> where
V: ToValue,
Similar to Self::set_property
but fails instead of panicking.
sourcefn set_property<V>(&self, property_name: &str, value: V) where
V: ToValue,
fn set_property<V>(&self, property_name: &str, value: V) where
V: ToValue,
Sets the property property_name
of the object to value value
. Read more
sourcefn try_set_property_from_value(
&self,
property_name: &str,
value: &Value
) -> Result<(), BoolError>
fn try_set_property_from_value(
&self,
property_name: &str,
value: &Value
) -> Result<(), BoolError>
Similar to Self::set_property
but fails instead of panicking.
sourcefn set_property_from_value(&self, property_name: &str, value: &Value)
fn set_property_from_value(&self, property_name: &str, value: &Value)
Sets the property property_name
of the object to value value
. Read more
sourcefn try_set_properties(
&self,
property_values: &[(&str, &dyn ToValue)]
) -> Result<(), BoolError>
fn try_set_properties(
&self,
property_values: &[(&str, &dyn ToValue)]
) -> Result<(), BoolError>
Similar to Self::set_properties
but fails instead of panicking.
sourcefn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
Sets multiple properties of the object at once. Read more
sourcefn try_set_properties_from_value(
&self,
property_values: &[(&str, Value)]
) -> Result<(), BoolError>
fn try_set_properties_from_value(
&self,
property_values: &[(&str, Value)]
) -> Result<(), BoolError>
Similar to Self::set_properties_from_value
but fails instead of panicking.
sourcefn set_properties_from_value(&self, property_values: &[(&str, Value)])
fn set_properties_from_value(&self, property_values: &[(&str, Value)])
Sets multiple properties of the object at once. Read more
sourcefn try_property<V>(&self, property_name: &str) -> Result<V, BoolError> where
V: 'static + for<'b> FromValue<'b>,
fn try_property<V>(&self, property_name: &str) -> Result<V, BoolError> where
V: 'static + for<'b> FromValue<'b>,
Similar to Self::property
but fails instead of panicking.
sourcefn property<V>(&self, property_name: &str) -> V where
V: 'static + for<'b> FromValue<'b>,
fn property<V>(&self, property_name: &str) -> V where
V: 'static + for<'b> FromValue<'b>,
Gets the property property_name
of the object and cast it to the type V. Read more
sourcefn try_property_value(&self, property_name: &str) -> Result<Value, BoolError>
fn try_property_value(&self, property_name: &str) -> Result<Value, BoolError>
Similar to Self::property_value
but fails instead of panicking.
sourcefn property_value(&self, property_name: &str) -> Value
fn property_value(&self, property_name: &str) -> Value
Gets the property property_name
of the object. Read more
sourcefn has_property(&self, property_name: &str, type_: Option<Type>) -> bool
fn has_property(&self, property_name: &str, type_: Option<Type>) -> bool
Check if the object has a property property_name
of the given type_
. Read more
sourcefn property_type(&self, property_name: &str) -> Option<Type>
fn property_type(&self, property_name: &str) -> Option<Type>
Get the type of the property property_name
of this object. Read more
sourcefn find_property(&self, property_name: &str) -> Option<ParamSpec>
fn find_property(&self, property_name: &str) -> Option<ParamSpec>
Get the ParamSpec
of the property property_name
of this object.
sourcefn list_properties(&self) -> PtrSlice<ParamSpec>
fn list_properties(&self) -> PtrSlice<ParamSpec>
Return all ParamSpec
of the properties of this object.
sourcefn freeze_notify(&self) -> PropertyNotificationFreezeGuard
fn freeze_notify(&self) -> PropertyNotificationFreezeGuard
Freeze all property notifications until the return guard object is dropped. Read more
sourceunsafe fn set_qdata<QD>(&self, key: Quark, value: QD) where
QD: 'static,
unsafe fn set_qdata<QD>(&self, key: Quark, value: QD) where
QD: 'static,
Set arbitrary data on this object with the given key
. Read more
sourceunsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>> where
QD: 'static,
unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>> where
QD: 'static,
Return previously set arbitrary data of this object with the given key
. Read more
sourceunsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD> where
QD: 'static,
unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD> where
QD: 'static,
Retrieve previously set arbitrary data of this object with the given key
. Read more
sourceunsafe fn set_data<QD>(&self, key: &str, value: QD) where
QD: 'static,
unsafe fn set_data<QD>(&self, key: &str, value: QD) where
QD: 'static,
Set arbitrary data on this object with the given key
. Read more
sourceunsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>> where
QD: 'static,
unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>> where
QD: 'static,
Return previously set arbitrary data of this object with the given key
. Read more
sourceunsafe fn steal_data<QD>(&self, key: &str) -> Option<QD> where
QD: 'static,
unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD> where
QD: 'static,
Retrieve previously set arbitrary data of this object with the given key
. Read more
sourcefn block_signal(&self, handler_id: &SignalHandlerId)
fn block_signal(&self, handler_id: &SignalHandlerId)
Block a given signal handler. Read more
sourcefn unblock_signal(&self, handler_id: &SignalHandlerId)
fn unblock_signal(&self, handler_id: &SignalHandlerId)
Unblock a given signal handler.
sourcefn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
Stop emission of the currently emitted signal.
sourcefn stop_signal_emission_by_name(&self, signal_name: &str)
fn stop_signal_emission_by_name(&self, signal_name: &str)
Stop emission of the currently emitted signal by the (possibly detailed) signal name.
sourcefn try_connect<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: 'static + for<'_> Fn(&[Value]) -> Option<Value> + Send + Sync,
fn try_connect<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: 'static + for<'_> Fn(&[Value]) -> Option<Value> + Send + Sync,
Similar to Self::connect
but fails instead of panicking.
sourcefn connect<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerId where
F: 'static + for<'_> Fn(&[Value]) -> Option<Value> + Send + Sync,
fn connect<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerId where
F: 'static + for<'_> Fn(&[Value]) -> Option<Value> + Send + Sync,
Connect to the signal signal_name
on this object. Read more
sourcefn try_connect_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: 'static + for<'_> Fn(&[Value]) -> Option<Value> + Send + Sync,
fn try_connect_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: 'static + for<'_> Fn(&[Value]) -> Option<Value> + Send + Sync,
Similar to Self::connect_id
but fails instead of panicking.
sourcefn connect_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerId where
F: 'static + for<'_> Fn(&[Value]) -> Option<Value> + Send + Sync,
fn connect_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerId where
F: 'static + for<'_> Fn(&[Value]) -> Option<Value> + Send + Sync,
Connect to the signal signal_id
on this object. Read more
sourcefn try_connect_local<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: 'static + for<'_> Fn(&[Value]) -> Option<Value>,
fn try_connect_local<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: 'static + for<'_> Fn(&[Value]) -> Option<Value>,
Similar to Self::connect_local
but fails instead of panicking.
sourcefn connect_local<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerId where
F: 'static + for<'_> Fn(&[Value]) -> Option<Value>,
fn connect_local<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerId where
F: 'static + for<'_> Fn(&[Value]) -> Option<Value>,
Connect to the signal signal_name
on this object. Read more
sourcefn try_connect_local_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: 'static + for<'_> Fn(&[Value]) -> Option<Value>,
fn try_connect_local_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: 'static + for<'_> Fn(&[Value]) -> Option<Value>,
Similar to Self::connect_local_id
but fails instead of panicking.
sourcefn connect_local_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerId where
F: 'static + for<'_> Fn(&[Value]) -> Option<Value>,
fn connect_local_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerId where
F: 'static + for<'_> Fn(&[Value]) -> Option<Value>,
Connect to the signal signal_id
on this object. Read more
sourceunsafe fn try_connect_unsafe<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: for<'_> Fn(&[Value]) -> Option<Value>,
unsafe fn try_connect_unsafe<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: for<'_> Fn(&[Value]) -> Option<Value>,
Similar to Self::connect_unsafe
but fails instead of panicking.
sourceunsafe fn connect_unsafe<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerId where
F: for<'_> Fn(&[Value]) -> Option<Value>,
unsafe fn connect_unsafe<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerId where
F: for<'_> Fn(&[Value]) -> Option<Value>,
Connect to the signal signal_name
on this object. Read more
sourceunsafe fn try_connect_unsafe_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: for<'_> Fn(&[Value]) -> Option<Value>,
unsafe fn try_connect_unsafe_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: for<'_> Fn(&[Value]) -> Option<Value>,
Similar to Self::connect_unsafe_id
but fails instead of panicking.
sourcefn try_connect_closure(
&self,
signal_name: &str,
after: bool,
closure: RustClosure
) -> Result<SignalHandlerId, BoolError>
fn try_connect_closure(
&self,
signal_name: &str,
after: bool,
closure: RustClosure
) -> Result<SignalHandlerId, BoolError>
Similar to Self::connect_closure
but fails instead of panicking.
sourcefn connect_closure(
&self,
signal_name: &str,
after: bool,
closure: RustClosure
) -> SignalHandlerId
fn connect_closure(
&self,
signal_name: &str,
after: bool,
closure: RustClosure
) -> SignalHandlerId
Connect a closure to the signal signal_name
on this object. Read more
sourcefn try_connect_closure_id(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
closure: RustClosure
) -> Result<SignalHandlerId, BoolError>
fn try_connect_closure_id(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
closure: RustClosure
) -> Result<SignalHandlerId, BoolError>
Similar to Self::connect_closure_id
but fails instead of panicking.
sourcefn connect_closure_id(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
closure: RustClosure
) -> SignalHandlerId
fn connect_closure_id(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
closure: RustClosure
) -> SignalHandlerId
Connect a closure to the signal signal_id
on this object. Read more
sourcefn watch_closure(&self, closure: &impl AsRef<Closure>)
fn watch_closure(&self, closure: &impl AsRef<Closure>)
Limits the lifetime of closure
to the lifetime of the object. When
the object’s reference count drops to zero, the closure will be
invalidated. An invalidated closure will ignore any calls to
Closure::invoke
. Read more
sourceunsafe fn connect_unsafe_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerId where
F: for<'_> Fn(&[Value]) -> Option<Value>,
unsafe fn connect_unsafe_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerId where
F: for<'_> Fn(&[Value]) -> Option<Value>,
Connect to the signal signal_id
on this object. Read more
sourcefn try_emit<R>(
&self,
signal_id: SignalId,
args: &[&dyn ToValue]
) -> Result<R, BoolError> where
R: TryFromClosureReturnValue,
fn try_emit<R>(
&self,
signal_id: SignalId,
args: &[&dyn ToValue]
) -> Result<R, BoolError> where
R: TryFromClosureReturnValue,
Similar to Self::emit
but fails instead of panicking.
sourcefn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> R where
R: TryFromClosureReturnValue,
fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> R where
R: TryFromClosureReturnValue,
Emit signal by signal id. Read more
sourcefn try_emit_with_values(
&self,
signal_id: SignalId,
args: &[Value]
) -> Result<Option<Value>, BoolError>
fn try_emit_with_values(
&self,
signal_id: SignalId,
args: &[Value]
) -> Result<Option<Value>, BoolError>
Similar to Self::emit_with_values
but fails instead of panicking.
sourcefn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
Same as Self::emit
but takes Value
for the arguments.
sourcefn try_emit_by_name<R>(
&self,
signal_name: &str,
args: &[&dyn ToValue]
) -> Result<R, BoolError> where
R: TryFromClosureReturnValue,
fn try_emit_by_name<R>(
&self,
signal_name: &str,
args: &[&dyn ToValue]
) -> Result<R, BoolError> where
R: TryFromClosureReturnValue,
Similar to Self::emit_by_name
but fails instead of panicking.
sourcefn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> R where
R: TryFromClosureReturnValue,
fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> R where
R: TryFromClosureReturnValue,
Emit signal by its name. Read more
sourcefn try_emit_by_name_with_values(
&self,
signal_name: &str,
args: &[Value]
) -> Result<Option<Value>, BoolError>
fn try_emit_by_name_with_values(
&self,
signal_name: &str,
args: &[Value]
) -> Result<Option<Value>, BoolError>
Similar to Self::emit_by_name_with_values
but fails instead of panicking.
sourcefn emit_by_name_with_values(
&self,
signal_name: &str,
args: &[Value]
) -> Option<Value>
fn emit_by_name_with_values(
&self,
signal_name: &str,
args: &[Value]
) -> Option<Value>
Emit signal by its name. Read more
sourcefn try_emit_by_name_with_details<R>(
&self,
signal_name: &str,
details: Quark,
args: &[&dyn ToValue]
) -> Result<R, BoolError> where
R: TryFromClosureReturnValue,
fn try_emit_by_name_with_details<R>(
&self,
signal_name: &str,
details: Quark,
args: &[&dyn ToValue]
) -> Result<R, BoolError> where
R: TryFromClosureReturnValue,
Similar to Self::emit_by_name_with_details
but fails instead of panicking.
sourcefn emit_by_name_with_details<R>(
&self,
signal_name: &str,
details: Quark,
args: &[&dyn ToValue]
) -> R where
R: TryFromClosureReturnValue,
fn emit_by_name_with_details<R>(
&self,
signal_name: &str,
details: Quark,
args: &[&dyn ToValue]
) -> R where
R: TryFromClosureReturnValue,
Emit signal by its name with details. Read more
sourcefn try_emit_by_name_with_details_and_values(
&self,
signal_name: &str,
details: Quark,
args: &[Value]
) -> Result<Option<Value>, BoolError>
fn try_emit_by_name_with_details_and_values(
&self,
signal_name: &str,
details: Quark,
args: &[Value]
) -> Result<Option<Value>, BoolError>
Similar to Self::emit_by_name_with_details_and_values
but fails instead of panicking.
sourcefn emit_by_name_with_details_and_values(
&self,
signal_name: &str,
details: Quark,
args: &[Value]
) -> Option<Value>
fn emit_by_name_with_details_and_values(
&self,
signal_name: &str,
details: Quark,
args: &[Value]
) -> Option<Value>
Emit signal by its name with details. Read more
sourcefn try_emit_with_details<R>(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue]
) -> Result<R, BoolError> where
R: TryFromClosureReturnValue,
fn try_emit_with_details<R>(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue]
) -> Result<R, BoolError> where
R: TryFromClosureReturnValue,
Similar to Self::emit_with_details
but fails instead of panicking.
sourcefn emit_with_details<R>(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue]
) -> R where
R: TryFromClosureReturnValue,
fn emit_with_details<R>(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue]
) -> R where
R: TryFromClosureReturnValue,
Emit signal by signal id with details. Read more
sourcefn try_emit_with_details_and_values(
&self,
signal_id: SignalId,
details: Quark,
args: &[Value]
) -> Result<Option<Value>, BoolError>
fn try_emit_with_details_and_values(
&self,
signal_id: SignalId,
details: Quark,
args: &[Value]
) -> Result<Option<Value>, BoolError>
Similar to Self::emit_with_details_and_values
but fails instead of panicking.
sourcefn emit_with_details_and_values(
&self,
signal_id: SignalId,
details: Quark,
args: &[Value]
) -> Option<Value>
fn emit_with_details_and_values(
&self,
signal_id: SignalId,
details: Quark,
args: &[Value]
) -> Option<Value>
Emit signal by signal id with details. Read more
sourcefn disconnect(&self, handler_id: SignalHandlerId)
fn disconnect(&self, handler_id: SignalHandlerId)
Disconnect a previously connected signal handler.
sourcefn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + for<'_, '_> Fn(&T, &ParamSpec) + Send + Sync,
fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + for<'_, '_> Fn(&T, &ParamSpec) + Send + Sync,
Connect to the notify
signal of the object. Read more
sourcefn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + for<'_, '_> Fn(&T, &ParamSpec),
fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + for<'_, '_> Fn(&T, &ParamSpec),
Connect to the notify
signal of the object. Read more
sourceunsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: for<'_, '_> Fn(&T, &ParamSpec),
unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: for<'_, '_> Fn(&T, &ParamSpec),
Connect to the notify
signal of the object. Read more
sourcefn notify(&self, property_name: &str)
fn notify(&self, property_name: &str)
Notify that the given property has changed its value. Read more
sourcefn notify_by_pspec(&self, pspec: &ParamSpec)
fn notify_by_pspec(&self, pspec: &ParamSpec)
Notify that the given property has changed its value. Read more
sourcefn bind_property<O>(
&'a self,
source_property: &'a str,
target: &'a O,
target_property: &'a str
) -> BindingBuilder<'a> where
O: ObjectType,
fn bind_property<O>(
&'a self,
source_property: &'a str,
target: &'a O,
target_property: &'a str
) -> BindingBuilder<'a> where
O: ObjectType,
Bind property source_property
on this object to the target_property
on the target
object. Read more
sourceimpl<T> StaticTypeExt for T where
T: StaticType,
impl<T> StaticTypeExt for T where
T: StaticType,
sourcefn ensure_type()
fn ensure_type()
Ensures that the type has been registered with the type system.
sourceimpl<T> ToClosureReturnValue for T where
T: ToValue,
impl<T> ToClosureReturnValue for T where
T: ToValue,
fn to_closure_return_value(&self) -> Option<Value>
sourceimpl<T> ToSendValue for T where
T: Send + ToValue + ?Sized,
impl<T> ToSendValue for T where
T: Send + ToValue + ?Sized,
sourcefn to_send_value(&self) -> SendValue
fn to_send_value(&self) -> SendValue
Returns a SendValue
clone of self
.