Struct StoredSession

Source
pub struct StoredSession {
    pub homeserver: Url,
    pub user_id: OwnedUserId,
    pub device_id: OwnedDeviceId,
    pub id: String,
    pub client_id: Option<ClientId>,
    pub passphrase: Zeroizing<String>,
}
Expand description

A session, as stored in the secret service.

Fields§

§homeserver: Url

The URL of the homeserver where the account lives.

§user_id: OwnedUserId

The unique identifier of the user.

§device_id: OwnedDeviceId

The unique identifier of the session on the homeserver.

§id: String

The unique local identifier of the session.

This is the name of the directories where the session data lives.

§client_id: Option<ClientId>

The unique identifier of the client with the homeserver.

§passphrase: Zeroizing<String>

The passphrase used to encrypt the local databases.

Implementations§

Source§

impl StoredSession

Source

async fn try_from_secret_item(item: Item) -> Result<Self, LinuxSecretError>

Build self from an item.

Source

fn attributes(&self) -> HashMap<&'static str, String>

Get the attributes from self.

Source

async fn apply_migrations( &mut self, from_version: u8, item: Item, access_token: Option<String>, )

Migrate this session to the current version.

Source§

impl StoredSession

Source

pub(crate) async fn new(client: &Client) -> Result<Self, ClientSetupError>

Construct a StoredSession from the session of the given Matrix client.

Returns an error if we failed to generate a unique session ID for the new session.

Source

pub(crate) fn data_path(&self) -> PathBuf

The path where the persistent data of this session lives.

Source

async fn create_data_dir(&self)

Create the directory where the persistent data of this session will live.

Source

pub(crate) fn cache_path(&self) -> PathBuf

The path where the cached data of this session lives.

Source

pub(crate) async fn delete(self)

Delete this session from the system.

Source

fn tokens_path(&self) -> PathBuf

The path to the files containing the session tokens.

Source

pub(crate) async fn load_tokens(&self) -> Option<SessionTokens>

Load the tokens of this session.

Source

pub(crate) async fn store_tokens(&self, tokens: SessionTokens)

Store the tokens of this session.

Trait Implementations§

Source§

impl BoxedType for StoredSession

Source§

const NAME: &'static str = "StoredSession"

Boxed type name. Read more
Source§

const ALLOW_NAME_CONFLICT: bool = false

Allow name conflicts for this boxed type. Read more
Source§

impl Clone for StoredSession

Source§

fn clone(&self) -> StoredSession

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StoredSession

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<StoredSession> for Value

Source§

fn from(v: StoredSession) -> Self

Converts to this type from the input type.
Source§

impl FromGlibPtrBorrow<*const StoredSession> for StoredSession

Source§

impl FromGlibPtrBorrow<*mut StoredSession> for StoredSession

Source§

impl FromGlibPtrFull<*mut StoredSession> for StoredSession

Source§

impl FromGlibPtrNone<*const StoredSession> for StoredSession

Source§

impl FromGlibPtrNone<*mut StoredSession> for StoredSession

Source§

impl<'a> FromValue<'a> for &'a StoredSession

Source§

type Checker = GenericValueTypeChecker<&'a StoredSession>

Value type checker.
Source§

unsafe fn from_value(value: &'a Value) -> Self

Get the contained value from a Value. Read more
Source§

impl<'a> FromValue<'a> for StoredSession

Source§

type Checker = GenericValueTypeChecker<StoredSession>

Value type checker.
Source§

unsafe fn from_value(value: &'a Value) -> Self

Get the contained value from a Value. Read more
Source§

impl GlibPtrDefault for StoredSession

Source§

impl HasParamSpec for StoredSession

Source§

type ParamSpec = ParamSpecBoxed

Source§

type SetValue = StoredSession

Preferred value to be used as setter for the associated ParamSpec.
Source§

type BuilderFn = fn(&str) -> ParamSpecBoxedBuilder<'_, StoredSession>

Source§

fn param_spec_builder() -> Self::BuilderFn

Source§

impl IntoGlibPtr<*mut StoredSession> for StoredSession

Source§

unsafe fn into_glib_ptr(self) -> *mut StoredSession

Transfer: full.
Source§

impl StaticType for StoredSession

Source§

fn static_type() -> Type

Returns the type identifier of Self.
Source§

impl<'a> ToGlibPtr<'a, *const StoredSession> for StoredSession

Source§

type Storage = PhantomData<&'a StoredSession>

Source§

fn to_glib_none(&'a self) -> Stash<'a, *const StoredSession, Self>

Transfer: none. Read more
Source§

fn to_glib_full(&self) -> *const StoredSession

Transfer: full. Read more
Source§

fn to_glib_container(&'a self) -> Stash<'a, P, Self>

Transfer: container. Read more
Source§

impl<'a> ToGlibPtr<'a, *mut StoredSession> for StoredSession

Source§

type Storage = PhantomData<&'a StoredSession>

Source§

fn to_glib_none(&'a self) -> Stash<'a, *mut StoredSession, Self>

Transfer: none. Read more
Source§

fn to_glib_full(&self) -> *mut StoredSession

Transfer: full. Read more
Source§

fn to_glib_container(&'a self) -> Stash<'a, P, Self>

Transfer: container. Read more
Source§

impl ToValue for StoredSession

Source§

fn to_value(&self) -> Value

Convert a value to a Value.
Source§

fn value_type(&self) -> Type

Returns the type identifier of self. Read more
Source§

impl TransparentType for StoredSession

Source§

impl ValueType for StoredSession

Source§

type Type = StoredSession

Type to get the Type from. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for T

Source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for T

Source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for T

Source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for T

Source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for T

Source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for T

Source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for T

Source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for T

Source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for T

Source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for T

Source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for T

Source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for T

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

Source§

const WITNESS: W = W::MAKE

A constant of the type witness
Source§

impl<T> Identity for T
where T: ?Sized,

Source§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
Source§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

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

fn in_current_span(self) -> Instrumented<Self>

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

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> IntoClosureReturnValue for T
where T: Into<Value>,

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Property for T
where T: HasParamSpec,

Source§

type Value = T

Source§

impl<T> PropertyGet for T
where T: HasParamSpec,

Source§

type Value = T

Source§

fn get<R, F>(&self, f: F) -> R
where F: Fn(&<T as PropertyGet>::Value) -> R,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> StaticTypeExt for T
where T: StaticType,

Source§

fn ensure_type()

Ensures that the type has been registered with the type system.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T> ToSendValue for T
where T: Send + ToValue + ?Sized,

Source§

fn to_send_value(&self) -> SendValue

Returns a SendValue clone of self.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T> TryFromClosureReturnValue for T
where T: for<'a> FromValue<'a> + StaticType + 'static,

Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> Any for T
where T: Any,

Source§

impl<T> AsyncTraitDeps for T

Source§

impl<T> CloneAny for T
where T: Any + Clone,

Source§

impl<T> CloneAnySend for T
where T: Any + Send + Clone,

Source§

impl<T> CloneAnySendSync for T
where T: Any + Send + Sync + Clone,

Source§

impl<T> CloneAnySync for T
where T: Any + Sync + Clone,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T

Source§

impl<T> SendOutsideWasm for T
where T: Send,

Source§

impl<T> SyncOutsideWasm for T
where T: Sync,