pub struct XxSessionManagerV1 { /* private fields */ }client only.Expand description
manage sessions for applications
The xx_session_manager interface defines base requests for creating and managing a session for an application. Sessions persist across application and compositor restarts unless explicitly destroyed. A session is created for the purpose of maintaining an application’s xdg_toplevel surfaces across compositor or application restarts. The compositor should remember as many states as possible for surfaces in a given session, but there is no requirement for which states must be remembered.
This interface has no events.
Implementations§
Source§impl XxSessionManagerV1
impl XxSessionManagerV1
Sourcepub fn destroy(&self)
pub fn destroy(&self)
Destroy this object
This has no effect other than to destroy the xx_session_manager object.
Sourcepub fn get_session<U: Send + Sync + 'static, D: Dispatch<XxSessionV1, U> + 'static>(
&self,
reason: Reason,
session: Option<String>,
qh: &QueueHandle<D>,
udata: U,
) -> XxSessionV1
pub fn get_session<U: Send + Sync + 'static, D: Dispatch<XxSessionV1, U> + 'static>( &self, reason: Reason, session: Option<String>, qh: &QueueHandle<D>, udata: U, ) -> XxSessionV1
create or restore a session
Create a session object corresponding to either an existing session identified by the given session identifier string or a new session. While the session object exists, the session is considered to be “in use”.
If a identifier string represents a session that is currently actively in use by the the same client, an ‘in_use’ error is raised. If some other client is currently using the same session, the new session will replace managing the associated state.
NULL is passed to initiate a new session. If an id is passed which does not represent a valid session, the compositor treats it as if NULL had been passed.
A client is allowed to have any number of in use sessions at the same time.
Trait Implementations§
Source§impl Borrow<ObjectId> for XxSessionManagerV1
impl Borrow<ObjectId> for XxSessionManagerV1
Source§impl Clone for XxSessionManagerV1
impl Clone for XxSessionManagerV1
Source§fn clone(&self) -> XxSessionManagerV1
fn clone(&self) -> XxSessionManagerV1
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for XxSessionManagerV1
impl Debug for XxSessionManagerV1
Source§impl Hash for XxSessionManagerV1
impl Hash for XxSessionManagerV1
Source§impl PartialEq<Weak<XxSessionManagerV1>> for XxSessionManagerV1
impl PartialEq<Weak<XxSessionManagerV1>> for XxSessionManagerV1
Source§impl PartialEq for XxSessionManagerV1
impl PartialEq for XxSessionManagerV1
Source§impl Proxy for XxSessionManagerV1
impl Proxy for XxSessionManagerV1
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 XxSessionManagerV1
Auto Trait Implementations§
impl Freeze for XxSessionManagerV1
impl !RefUnwindSafe for XxSessionManagerV1
impl Send for XxSessionManagerV1
impl Sync for XxSessionManagerV1
impl Unpin for XxSessionManagerV1
impl !UnwindSafe for XxSessionManagerV1
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.