Struct matrix_sdk::encryption::verification::VerificationRequest
source · pub struct VerificationRequest { /* private fields */ }
e2e-encryption
only.Expand description
An object controlling the interactive verification flow.
Implementations§
source§impl VerificationRequest
impl VerificationRequest
sourcepub fn is_cancelled(&self) -> bool
pub fn is_cancelled(&self) -> bool
Has the verification been cancelled.
sourcepub fn cancel_info(&self) -> Option<CancelInfo>
pub fn cancel_info(&self) -> Option<CancelInfo>
Get info about the cancellation if the verification request has been cancelled.
sourcepub fn own_user_id(&self) -> &UserId
pub fn own_user_id(&self) -> &UserId
Get our own user id.
sourcepub fn is_passive(&self) -> bool
pub fn is_passive(&self) -> bool
Has the verification request been answered by another device.
sourcepub fn we_started(&self) -> bool
pub fn we_started(&self) -> bool
Did we initiate the verification flow.
sourcepub fn other_user_id(&self) -> &UserId
pub fn other_user_id(&self) -> &UserId
Get the user id of the other user participating in this verification flow.
sourcepub fn is_self_verification(&self) -> bool
pub fn is_self_verification(&self) -> bool
Is this a verification that is verifying one of our own devices.
sourcepub fn their_supported_methods(&self) -> Option<Vec<VerificationMethod>>
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.
sourcepub async fn accept(&self) -> Result<()>
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.
sourcepub async fn accept_with_methods(
&self,
methods: Vec<VerificationMethod>,
) -> Result<()>
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.
sourcepub async fn generate_qr_code(&self) -> Result<Option<QrVerification>>
Available on crate feature qrcode
only.
pub async fn generate_qr_code(&self) -> Result<Option<QrVerification>>
qrcode
only.Generate a QR code
sourcepub async fn scan_qr_code(
&self,
data: QrVerificationData,
) -> Result<Option<QrVerification>>
Available on crate feature qrcode
only.
pub async fn scan_qr_code( &self, data: QrVerificationData, ) -> Result<Option<QrVerification>>
qrcode
only.Start a QR code verification by providing a scanned QR code for this verification flow.
Returns an Error
if the QR code isn’t valid or sending a reciprocate
event to the other side fails, None
if the verification request
isn’t in the ready state or we don’t support QR code verification,
otherwise a newly created QrVerification
object which will be used
for the remainder of the verification flow.
sourcepub async fn start_sas(&self) -> Result<Option<SasVerification>>
pub async fn start_sas(&self) -> Result<Option<SasVerification>>
Transition from this verification request into a SAS verification flow.
sourcepub fn changes(&self) -> impl Stream<Item = VerificationRequestState>
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.
sourcepub fn state(&self) -> VerificationRequestState
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.
Trait Implementations§
source§impl Clone for VerificationRequest
impl Clone for VerificationRequest
source§fn clone(&self) -> VerificationRequest
fn clone(&self) -> VerificationRequest
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for VerificationRequest
impl !RefUnwindSafe for VerificationRequest
impl Send for VerificationRequest
impl Sync for VerificationRequest
impl Unpin for VerificationRequest
impl !UnwindSafe for VerificationRequest
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> CompatExt for T
impl<T> CompatExt for T
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
source§fn consume_handle(handle: Handle) -> Arc<T>
fn consume_handle(handle: Handle) -> Arc<T>
Arc<>
source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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