Struct matrix_sdk_crypto_ffi::VerificationRequest

source ·
pub struct VerificationRequest { /* private fields */ }
Expand description

The verificatoin request object which then can transition into some concrete verification method

Implementations§

source§

impl VerificationRequest

source

pub fn other_user_id(&self) -> String

The id of the other user that is participating in this verification request.

source

pub fn other_device_id(&self) -> Option<String>

The id of the other device that is participating in this verification.

source

pub fn flow_id(&self) -> String

Get the unique ID of this verification request

source

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

Get the room id if the verification is happening inside a room.

source

pub fn is_done(&self) -> bool

Has the verification flow that was started with this request finished.

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 request

source

pub fn is_passive(&self) -> bool

Has the verification request been answered by another device.

source

pub fn is_cancelled(&self) -> bool

Has the verification flow that been cancelled.

source

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

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

source

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

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 fn our_supported_methods(&self) -> Option<Vec<String>>

Get our own supported verification methods that we advertised.

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

source

pub fn accept( &self, methods: Vec<String> ) -> Option<OutgoingVerificationRequest>

Accept a verification requests that we share with the given user with the given flow id.

This will move the verification request into the ready state.

§Arguments
  • user_id - The ID of the user for which we would like to accept the verification requests.

  • flow_id - The ID that uniquely identifies the verification flow.

  • methods - A list of verification methods that we want to advertise as supported.

source

pub fn cancel(&self) -> Option<OutgoingVerificationRequest>

Cancel a verification for the given user with the given flow id using the given cancel code.

source

pub fn start_sas_verification( &self ) -> Result<Option<StartSasResult>, CryptoStoreError>

Transition from a verification request into short auth string based verification.

§Arguments
  • user_id - The ID of the user for which we would like to start the SAS verification.

  • flow_id - The ID of the verification request that initiated the verification flow.

source

pub fn start_qr_verification( &self ) -> Result<Option<Arc<QrCode>>, CryptoStoreError>

Transition from a verification request into QR code verification.

This method should be called when one wants to display a QR code so the other side can scan it and move the QR code verification forward.

§Arguments
  • user_id - The ID of the user for which we would like to start the QR code verification.

  • flow_id - The ID of the verification request that initiated the verification flow.

source

pub fn scan_qr_code(&self, data: String) -> Option<ScanResult>

Pass data from a scanned QR code to an active verification request and transition into QR code verification.

This requires an active VerificationRequest to succeed, returns None if no VerificationRequest is found or if the QR code data is invalid.

§Arguments
  • user_id - The ID of the user for which we would like to start the QR code verification.

  • flow_id - The ID of the verification request that initiated the verification flow.

  • data - The data that was extracted from the scanned QR code as an base64 encoded string, without padding.

source

pub fn set_changes_listener( &self, listener: Box<dyn VerificationRequestListener> )

Set a listener for changes in the verification request

The given callback will be called whenever the state changes.

source

pub fn state(&self) -> VerificationRequestState

Get the current state of the verification request.

Trait Implementations§

source§

impl<T> LiftRef<T> for VerificationRequest

source§

impl<T> LowerReturn<T> for VerificationRequest

§

type ReturnType = <VerificationRequest as FfiConverterArc<UniFfiTag>>::FfiType

The type that should be returned by scaffolding functions for this type. Read more
source§

fn lower_return(obj: Self) -> Result<Self::ReturnType, RustBuffer>

Lower this value for scaffolding function return Read more
source§

const TYPE_ID_META: MetadataBuffer = _

source§

fn handle_failed_lift(arg_name: &str, e: Error) -> Self

If possible, get a serialized error for failed argument lifts 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
§

impl<T> CompatExt for T

§

fn compat(self) -> Compat<T>

Applies the [Compat] adapter by value. Read more
§

fn compat_ref(&self) -> Compat<&T>

Applies the [Compat] adapter by shared reference. Read more
§

fn compat_mut(&mut self) -> Compat<&mut T>

Applies the [Compat] adapter by mutable reference. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

source§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
source§

fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
source§

fn consume_handle(handle: Handle) -> Arc<T>

Consume a handle, getting back the initial Arc<>
source§

fn get_arc(handle: Handle) -> Arc<Self>

Get a clone of the Arc<> using a “borrowed” handle. Read more
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,

§

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§

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§

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

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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> SendOutsideWasm for T
where T: Send,

source§

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