logo
pub struct AuthorityProxyBlocking<'c>(_);
Expand description

This D-Bus interface is implemented by the /org/freedesktop/PolicyKit1/Authority object on the well-known name org.freedesktop.PolicyKit1 on the system message bus.

Implementations

Creates a new proxy with the default service & path.

Returns a customizable builder for this proxy.

Consumes self, returning the underlying zbus::Proxy.

The reference to the underlying zbus::Proxy.

Method for authentication agents to invoke on successful authentication, intended only for use by a privileged helper process internal to polkit. This method will fail unless a sufficiently privileged +caller invokes it. Deprecated in favor of AuthenticationAgentResponse2().

Method for authentication agents to invoke on successful authentication, intended only for use by a privileged helper process internal to polkit. This method will fail unless a sufficiently privileged caller invokes it. Note this method was introduced in 0.114 and should be preferred over AuthenticationAgentResponse() as it fixes a security issue.

Cancels an authorization check.

Arguments
  • cancellation_id - The cancellation_id passed to CheckAuthorization().

Checks if subject is authorized to perform the action with identifier action_id

If cancellation_id is non-empty and already in use for the caller, the org.freedesktop.PolicyKit1.Error.CancellationIdNotUnique error is returned.

Note that CheckAuthorizationFlags::AllowUserInteraction SHOULD be passed ONLY if the event that triggered the authorization check is stemming from an user action, e.g. the user pressing a button or attaching a device.

Arguments
  • subject - A Subject struct.

  • action_id - Identifier for the action that subject is attempting to do.

  • details - Details describing the action. Keys starting with polkit. can only be set if defined in this document.

Known keys include polkit.message and polkit.gettext_domain that can be used to override the message shown to the user. This latter is needed because the user could be running an authentication agent in another locale than the calling process.

The (translated version of) polkit.message may include references to other keys that are expanded with their respective values. For example if the key device_file has the value /dev/sda then the message “Authenticate to format $(device_file)” is expanded to “Authenticate to format /dev/sda”.

The key polkit.icon_name is used to override the icon shown in the authentication dialog.

If non-empty, then the request will fail with org.freedesktop.PolicyKit1.Error.Failed unless the process doing the check itself is sufficiently authorized (e.g. running as uid 0).

  • flags - A set of CheckAuthorizationFlags.

  • cancellation_id - A unique id used to cancel the the authentication check via CancelCheckAuthorization() or the empty string if cancellation is not needed.

Returns: An AuthorizationResult structure.

Enumerates all registered PolicyKit actions.

Arguments:
  • locale - The locale to get descriptions in or the blank string to use the system locale.

Retrieves all temporary authorizations that applies to subject.

Register an authentication agent.

Note that this should be called by same effective UID which will be passed to AuthenticationAgentResponse2().

Arguments
  • subject - The subject to register the authentication agent for, typically a session subject.

  • locale - The locale of the authentication agent.

  • object_path - The object path of authentication agent object on the unique name of the caller.

Like RegisterAuthenticationAgent but takes additional options. If the option fallback (of type Boolean) is TRUE, then the authentcation agent will only be used as a fallback, e.g. if another agent (without the fallback option set TRUE) is available, it will be used instead.

Revokes all temporary authorizations that applies to id.

Revokes all temporary authorizations that applies to subject.

Unregister an authentication agent.

Arguments
  • subject - The subject passed to RegisterAuthenticationAgent().

  • object_path - The object_path passed to RegisterAuthenticationAgent().

Create a stream that receives Changed signals.

This a convenient wrapper around zbus::blocking::Proxy::receive_signal. This signal is emitted when actions and/or authorizations change

The features supported by the currently used Authority backend.

Get the cached value of the BackendFeatures property, or None if the property is not cached.

Create a stream for the BackendFeatures property changes. This is a convenient wrapper around zbus::blocking::Proxy::receive_property_changed.

The name of the currently used Authority backend.

Get the cached value of the BackendName property, or None if the property is not cached.

Create a stream for the BackendName property changes. This is a convenient wrapper around zbus::blocking::Proxy::receive_property_changed.

The version of the currently used Authority backend.

Get the cached value of the BackendVersion property, or None if the property is not cached.

Create a stream for the BackendVersion property changes. This is a convenient wrapper around zbus::blocking::Proxy::receive_property_changed.

Methods from Deref<Target = Proxy<'c>>

Get a reference to the associated connection.

Get a reference to the destination service name.

Get a reference to the object path.

Get a reference to the interface.

Introspect the associated object, and return the XML description.

See the xml module for parsing the result.

Get the cached value of the property property_name.

This returns None if the property is not in the cache. This could be because the cache was invalidated by an update, because caching was disabled for this property or proxy, or because the cache has not yet been populated. Use get_property to fetch the value from the peer.

Get the cached value of the property property_name.

Same as cached_property, but gives you access to the raw value stored in the cache. This is useful if you want to avoid allocations and cloning.

Get the property property_name.

Get the property value from the cache or call the Get method of the org.freedesktop.DBus.Properties interface.

Set the property property_name.

Effectively, call the Set method of the org.freedesktop.DBus.Properties interface.

Call a method and return the reply.

Typically, you would want to use call method instead. Use this method if you need to deserialize the reply message manually (this way, you can avoid the memory allocation/copying, by deserializing the reply to an unowned type).

Call a method and return the reply body.

Use call_method instead if you need to deserialize the reply manually/separately.

Call a method without expecting a reply

This sets the NoReplyExpected flag on the calling message and does not wait for a reply.

Create a stream for signal named signal_name.

Errors

Apart from general I/O errors that can result from socket communications, calling this method will also result in an error if the destination service has not yet registered its well-known name with the bus (assuming you’re using the well-known name as destination).

Create a stream for all signals emitted by this service.

Errors

Apart from general I/O errors that can result from socket communications, calling this method will also result in an error if the destination service has not yet registered its well-known name with the bus (assuming you’re using the well-known name as destination).

Get an iterator to receive owner changed events.

If the proxy destination is a unique name, the stream will be notified of the peer disconnection from the bus (with a None value).

If the proxy destination is a well-known name, the stream will be notified whenever the name owner is changed, either by a new peer being granted ownership (Some value) or when the name is released (with a None value).

Note that zbus doesn’t queue the updates. If the listener is slower than the receiver, it will only receive the last update.

Get an iterator to receive property changed events.

Note that zbus doesn’t queue the updates. If the listener is slower than the receiver, it will only receive the last update.

Get a reference to the underlying async Proxy.

Trait Implementations

Converts this type into a mutable reference of the (usually inferred) input type.

Converts this type into a shared reference of the (usually inferred) input type.

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

The resulting type after dereferencing.

Dereferences the value.

Mutably dereferences the value.

Converts to this type from the input type.

Serialize this value into the given Serde serializer. Read more

Get the signature for the implementing type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Get the signature for the implementing type. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more