Struct wayland_protocols::wp::security_context::v1::generated::client::wp_security_context_v1::WpSecurityContextV1
source · pub struct WpSecurityContextV1 {
id: ObjectId,
version: u32,
data: Option<Arc<dyn ObjectData>>,
backend: WeakBackend,
}
Expand description
client security context
The security context allows a client to register a new client and attach security context metadata to the connections.
When both are set, the combination of the application ID and the sandbox engine must uniquely identify an application. The same application ID will be used across instances (e.g. if the application is restarted, or if the application is started multiple times).
When both are set, the combination of the instance ID and the sandbox engine must uniquely identify a running instance of an application.
This interface has no events.
Fields§
§id: ObjectId
§version: u32
§data: Option<Arc<dyn ObjectData>>
§backend: WeakBackend
Implementations§
source§impl WpSecurityContextV1
impl WpSecurityContextV1
sourcepub fn set_sandbox_engine(&self, name: String)
pub fn set_sandbox_engine(&self, name: String)
set the sandbox engine
Attach a unique sandbox engine name to the security context. The name should follow the reverse-DNS style (e.g. “org.flatpak”).
A list of well-known engines is maintained at: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/blob/main/staging/security-context/engines.md
It is a protocol error to call this request twice. The already_set error is sent in this case.
sourcepub fn set_app_id(&self, app_id: String)
pub fn set_app_id(&self, app_id: String)
set the application ID
Attach an application ID to the security context.
The application ID is an opaque, sandbox-specific identifier for an application. See the well-known engines document for more details: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/blob/main/staging/security-context/engines.md
The compositor may use the application ID to group clients belonging to the same security context application.
Whether this request is optional or not depends on the sandbox engine used.
It is a protocol error to call this request twice. The already_set error is sent in this case.
sourcepub fn set_instance_id(&self, instance_id: String)
pub fn set_instance_id(&self, instance_id: String)
set the instance ID
Attach an instance ID to the security context.
The instance ID is an opaque, sandbox-specific identifier for a running instance of an application. See the well-known engines document for more details: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/blob/main/staging/security-context/engines.md
Whether this request is optional or not depends on the sandbox engine used.
It is a protocol error to call this request twice. The already_set error is sent in this case.
sourcepub fn commit(&self)
pub fn commit(&self)
register the security context
Atomically register the new client and attach the security context metadata.
If the provided metadata is inconsistent or does not match with out of band metadata (see https://gitlab.freedesktop.org/wayland/wayland-protocols/-/blob/main/staging/security-context/engines.md), the invalid_metadata error may be sent eventually.
It’s a protocol error to send any request other than “destroy” after this request. In this case, the already_used error is sent.
Trait Implementations§
source§impl Borrow<ObjectId> for WpSecurityContextV1
impl Borrow<ObjectId> for WpSecurityContextV1
source§impl Clone for WpSecurityContextV1
impl Clone for WpSecurityContextV1
source§fn clone(&self) -> WpSecurityContextV1
fn clone(&self) -> WpSecurityContextV1
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for WpSecurityContextV1
impl Debug for WpSecurityContextV1
source§impl Hash for WpSecurityContextV1
impl Hash for WpSecurityContextV1
source§impl PartialEq<Weak<WpSecurityContextV1>> for WpSecurityContextV1
impl PartialEq<Weak<WpSecurityContextV1>> for WpSecurityContextV1
source§impl PartialEq for WpSecurityContextV1
impl PartialEq for WpSecurityContextV1
source§fn eq(&self, other: &WpSecurityContextV1) -> bool
fn eq(&self, other: &WpSecurityContextV1) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Proxy for WpSecurityContextV1
impl Proxy for WpSecurityContextV1
source§fn data<U: Send + Sync + 'static>(&self) -> Option<&U>
fn data<U: Send + Sync + 'static>(&self) -> Option<&U>
source§fn object_data(&self) -> Option<&Arc<dyn ObjectData>>
fn object_data(&self) -> Option<&Arc<dyn ObjectData>>
source§fn backend(&self) -> &WeakBackend
fn backend(&self) -> &WeakBackend
source§fn send_request(&self, req: Self::Request<'_>) -> Result<(), InvalidId>
fn send_request(&self, req: Self::Request<'_>) -> Result<(), InvalidId>
source§fn send_constructor<I: Proxy>(
&self,
req: Self::Request<'_>,
data: Arc<dyn ObjectData>,
) -> Result<I, InvalidId>
fn send_constructor<I: Proxy>( &self, req: Self::Request<'_>, data: Arc<dyn ObjectData>, ) -> Result<I, InvalidId>
source§fn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>
fn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>
source§fn inert(backend: WeakBackend) -> Self
fn inert(backend: WeakBackend) -> Self
source§fn parse_event(
conn: &Connection,
msg: Message<ObjectId, OwnedFd>,
) -> Result<(Self, Self::Event), DispatchError>
fn parse_event( conn: &Connection, msg: Message<ObjectId, OwnedFd>, ) -> Result<(Self, Self::Event), DispatchError>
source§fn write_request<'a>(
&self,
conn: &Connection,
msg: Self::Request<'a>,
) -> Result<(Message<ObjectId, BorrowedFd<'a>>, Option<(&'static Interface, u32)>), InvalidId>
fn write_request<'a>( &self, conn: &Connection, msg: Self::Request<'a>, ) -> Result<(Message<ObjectId, BorrowedFd<'a>>, Option<(&'static Interface, u32)>), InvalidId>
impl Eq for WpSecurityContextV1
Auto Trait Implementations§
impl Freeze for WpSecurityContextV1
impl !RefUnwindSafe for WpSecurityContextV1
impl Send for WpSecurityContextV1
impl Sync for WpSecurityContextV1
impl Unpin for WpSecurityContextV1
impl !UnwindSafe for WpSecurityContextV1
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.