[][src]Trait gio::DBusInterfaceSkeletonExt

pub trait DBusInterfaceSkeletonExt: 'static {
    fn export(
        &self,
        connection: &DBusConnection,
        object_path: &str
    ) -> Result<(), Error>;
fn flush(&self);
fn get_connection(&self) -> Option<DBusConnection>;
fn get_connections(&self) -> Vec<DBusConnection>;
fn get_flags(&self) -> DBusInterfaceSkeletonFlags;
fn get_object_path(&self) -> Option<GString>;
fn get_properties(&self) -> Option<Variant>;
fn has_connection(&self, connection: &DBusConnection) -> bool;
fn set_flags(&self, flags: DBusInterfaceSkeletonFlags);
fn unexport(&self);
fn unexport_from_connection(&self, connection: &DBusConnection);
fn get_property_g_flags(&self) -> DBusInterfaceSkeletonFlags;
fn set_property_g_flags(&self, g_flags: DBusInterfaceSkeletonFlags);
fn connect_g_authorize_method<F: Fn(&Self, &DBusMethodInvocation) -> bool + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
fn connect_property_g_flags_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; }

Trait containing all DBusInterfaceSkeleton methods.

Implementors

DBusInterfaceSkeleton

Required methods

fn export(
    &self,
    connection: &DBusConnection,
    object_path: &str
) -> Result<(), Error>

Exports self at object_path on connection.

This can be called multiple times to export the same self onto multiple connections however the object_path provided must be the same for all connections.

Use DBusInterfaceSkeletonExt::unexport to unexport the object.

connection

A DBusConnection to export self on.

object_path

The path to export the interface at.

Returns

true if the interface was exported on connection, otherwise false with error set.

fn flush(&self)

If self has outstanding changes, request for these changes to be emitted immediately.

For example, an exported D-Bus interface may queue up property changes and emit the org.freedesktop.DBus.Properties.PropertiesChanged signal later (e.g. in an idle handler). This technique is useful for collapsing multiple property changes into one.

fn get_connection(&self) -> Option<DBusConnection>

Gets the first connection that self is exported on, if any.

Returns

A DBusConnection or None if self is not exported anywhere. Do not free, the object belongs to self.

fn get_connections(&self) -> Vec<DBusConnection>

Gets a list of the connections that self is exported on.

Returns

A list of all the connections that self is exported on. The returned list should be freed with glib::List::free after each element has been freed with gobject::ObjectExt::unref.

fn get_flags(&self) -> DBusInterfaceSkeletonFlags

Gets the DBusInterfaceSkeletonFlags that describes what the behavior of self

Returns

One or more flags from the DBusInterfaceSkeletonFlags enumeration.

fn get_object_path(&self) -> Option<GString>

Gets the object path that self is exported on, if any.

Returns

A string owned by self or None if self is not exported anywhere. Do not free, the string belongs to self.

fn get_properties(&self) -> Option<Variant>

Gets all D-Bus properties for self.

Returns

A glib::Variant of type ['a{sv}'][G-VARIANT-TYPE-VARDICT:CAPS]. Free with glib::Variant::unref.

fn has_connection(&self, connection: &DBusConnection) -> bool

Checks if self is exported on connection.

connection

A DBusConnection.

Returns

true if self is exported on connection, false otherwise.

fn set_flags(&self, flags: DBusInterfaceSkeletonFlags)

Sets flags describing what the behavior of skeleton should be.

flags

Flags from the DBusInterfaceSkeletonFlags enumeration.

fn unexport(&self)

Stops exporting self on all connections it is exported on.

To unexport self from only a single connection, use DBusInterfaceSkeletonExt::unexport_from_connection

fn unexport_from_connection(&self, connection: &DBusConnection)

Stops exporting self on connection.

To stop exporting on all connections the interface is exported on, use DBusInterfaceSkeletonExt::unexport.

connection

A DBusConnection.

fn get_property_g_flags(&self) -> DBusInterfaceSkeletonFlags

Flags from the DBusInterfaceSkeletonFlags enumeration.

fn set_property_g_flags(&self, g_flags: DBusInterfaceSkeletonFlags)

Flags from the DBusInterfaceSkeletonFlags enumeration.

fn connect_g_authorize_method<F: Fn(&Self, &DBusMethodInvocation) -> bool + 'static>(
    &self,
    f: F
) -> SignalHandlerId

Emitted when a method is invoked by a remote caller and used to determine if the method call is authorized.

Note that this signal is emitted in a thread dedicated to handling the method call so handlers are allowed to perform blocking IO. This means that it is appropriate to call e.g. polkit_authority_check_authorization_sync with the POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION flag set.

If false is returned then no further handlers are run and the signal handler must take a reference to invocation and finish handling the call (e.g. return an error via DBusMethodInvocation::return_error).

Otherwise, if true is returned, signal emission continues. If no handlers return false, then the method is dispatched. If interface has an enclosing DBusObjectSkeleton, then the DBusObjectSkeleton::authorize-method signal handlers run before the handlers for this signal.

The default class handler just returns true.

Please note that the common case is optimized: if no signals handlers are connected and the default class handler isn't overridden (for both interface and the enclosing DBusObjectSkeleton, if any) and DBusInterfaceSkeleton:g-flags does not have the DBusInterfaceSkeletonFlags::HandleMethodInvocationsInThread flags set, no dedicated thread is ever used and the call will be handled in the same thread as the object that interface belongs to was exported in.

invocation

A DBusMethodInvocation.

Returns

true if the call is authorized, false otherwise.

fn connect_property_g_flags_notify<F: Fn(&Self) + 'static>(
    &self,
    f: F
) -> SignalHandlerId

Loading content...

Implementors

impl<O: IsA<DBusInterfaceSkeleton>> DBusInterfaceSkeletonExt for O[src]

Loading content...