matrix_sdk::encryption::verification

Struct VerificationRequest

Source
pub struct VerificationRequest { /* private fields */ }
Expand description

An object controlling the interactive verification flow.

Implementations§

Source§

impl VerificationRequest

Source

pub fn is_done(&self) -> bool

Has this verification finished.

Source

pub fn is_cancelled(&self) -> bool

Has the verification been cancelled.

Source

pub fn flow_id(&self) -> &str

Get the transaction id of this verification request

Source

pub fn cancel_info(&self) -> Option<CancelInfo>

Get info about the cancellation if the verification request has been cancelled.

Source

pub fn own_user_id(&self) -> &UserId

Get our own user id.

Source

pub fn is_passive(&self) -> bool

Has the verification request been answered by another device.

Source

pub fn is_ready(&self) -> bool

Is the verification request ready to start a verification flow.

Source

pub fn we_started(&self) -> bool

Did we initiate the verification flow.

Source

pub fn other_user_id(&self) -> &UserId

Get the user id of the other user participating in this verification flow.

Source

pub fn is_self_verification(&self) -> bool

Is this a verification that is verifying one of our own devices.

Source

pub fn their_supported_methods(&self) -> Option<Vec<VerificationMethod>>

Get the supported verification methods of the other side.

Will be present only if the other side requested the verification or if we’re in the ready state.

Source

pub async fn accept(&self) -> Result<()>

Accept the verification request.

This method will accept the request and signal by default that it supports the m.sas.v1, the m.qr_code.show.v1, and m.reciprocate.v1 method. If the qrcode feature is disabled it will only signal that it supports the m.sas.v1 method.

If QR code scanning should be supported or QR code showing shouldn’t be supported the accept_with_methods() method should be used instead.

Source

pub async fn accept_with_methods( &self, methods: Vec<VerificationMethod>, ) -> Result<()>

Accept the verification request signaling that our client supports the given verification methods.

§Arguments
  • methods - The methods that we should advertise as supported by us.
Source

pub async fn start_sas(&self) -> Result<Option<SasVerification>>

Transition from this verification request into a SAS verification flow.

Source

pub async fn cancel(&self) -> Result<()>

Cancel the verification request

Source

pub fn changes(&self) -> impl Stream<Item = VerificationRequestState>

Listen for changes in the verification request.

The changes are presented as a stream of VerificationRequestState values.

Source

pub fn state(&self) -> VerificationRequestState

Get the current state the verification request is in.

To listen to changes to the VerificationRequestState use the VerificationRequest::changes method.

Source

pub fn room_id(&self) -> Option<&RoomId>

Get the room ID, if the verification is happening inside a room.

Trait Implementations§

Source§

impl Clone for VerificationRequest

Source§

fn clone(&self) -> VerificationRequest

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 VerificationRequest

Source§

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

Formats the value using the given formatter. 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, dst: *mut u8)

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> 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> Same for T

Source§

type Output = T

Should always be Self
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, 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, 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,