Struct matrix_sdk_crypto::QrVerification
source · pub struct QrVerification { /* private fields */ }
qrcode
only.Expand description
An object controlling QR code style key verification flows.
Implementations§
source§impl QrVerification
impl QrVerification
sourcepub fn has_been_scanned(&self) -> bool
pub fn has_been_scanned(&self) -> bool
Has the QR verification been scanned by the other side.
When the verification object is in this state it’s required that the user confirms that the other side has scanned the QR code.
sourcepub fn has_been_confirmed(&self) -> bool
pub fn has_been_confirmed(&self) -> bool
Has the scanning of the QR code been confirmed by us.
sourcepub fn other_user_id(&self) -> &UserId
pub fn other_user_id(&self) -> &UserId
Get the user id of the other user that is participating in this verification flow.
sourcepub fn other_device_id(&self) -> &DeviceId
pub fn other_device_id(&self) -> &DeviceId
Get the device ID of the other side.
sourcepub fn other_device(&self) -> &DeviceData
pub fn other_device(&self) -> &DeviceData
Get the device of the other user.
sourcepub fn we_started(&self) -> bool
pub fn we_started(&self) -> bool
Did we initiate the verification request
sourcepub fn cancel_info(&self) -> Option<CancelInfo>
pub fn cancel_info(&self) -> Option<CancelInfo>
Get info about the cancellation if the verification flow has been cancelled.
sourcepub fn is_cancelled(&self) -> bool
pub fn is_cancelled(&self) -> bool
Has the verification flow been cancelled.
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 reciprocated(&self) -> bool
pub fn reciprocated(&self) -> bool
Have we successfully scanned the QR code and are able to send a reciprocation event.
sourcepub fn flow_id(&self) -> &FlowId
pub fn flow_id(&self) -> &FlowId
Get the unique ID that identifies this QR code verification flow.
sourcepub fn room_id(&self) -> Option<&RoomId>
pub fn room_id(&self) -> Option<&RoomId>
Get the room id if the verification is happening inside a room.
sourcepub fn to_qr_code(&self) -> Result<QrCode, EncodingError>
pub fn to_qr_code(&self) -> Result<QrCode, EncodingError>
Generate a QR code object that is representing this verification flow.
The QrCode
can then be rendered as an image or as an unicode string.
The to_bytes()
method can be used to instead
output the raw bytes that should be encoded as a QR code.
sourcepub fn to_bytes(&self) -> Result<Vec<u8>, EncodingError>
pub fn to_bytes(&self) -> Result<Vec<u8>, EncodingError>
Generate a the raw bytes that should be encoded as a QR code is representing this verification flow.
The to_qr_code()
method can be used to instead
output a QrCode
object that can be rendered.
sourcepub fn cancel(&self) -> Option<OutgoingVerificationRequest>
pub fn cancel(&self) -> Option<OutgoingVerificationRequest>
Cancel the verification flow.
sourcepub fn cancel_with_code(
&self,
code: CancelCode,
) -> Option<OutgoingVerificationRequest>
pub fn cancel_with_code( &self, code: CancelCode, ) -> Option<OutgoingVerificationRequest>
Cancel the verification.
This cancels the verification with given CancelCode
.
Note: This method should generally not be used, the cancel()
method should be preferred. The SDK will automatically cancel with the
appropriate cancel code, user initiated cancellations should only cancel
with the CancelCode::User
Returns None if the Sas
object is already in a canceled state,
otherwise it returns a request that needs to be sent out.
sourcepub fn reciprocate(&self) -> Option<OutgoingVerificationRequest>
pub fn reciprocate(&self) -> Option<OutgoingVerificationRequest>
Notify the other side that we have successfully scanned the QR code and that the QR verification flow can start.
This will return some OutgoingContent
if the object is in the correct
state to start the verification flow, otherwise None
.
sourcepub fn confirm_scanning(&self) -> Option<OutgoingVerificationRequest>
pub fn confirm_scanning(&self) -> Option<OutgoingVerificationRequest>
Confirm that the other side has scanned our QR code.
sourcepub fn changes(&self) -> impl Stream<Item = QrVerificationState>
pub fn changes(&self) -> impl Stream<Item = QrVerificationState>
Listen for changes in the QrCode verification process.
The changes are presented as a stream of QrVerificationState
values.
sourcepub fn state(&self) -> QrVerificationState
pub fn state(&self) -> QrVerificationState
Get the current state the verification process is in.
To listen to changes to the QrVerificationState
use the
QrVerification::changes
method.
Trait Implementations§
source§impl Clone for QrVerification
impl Clone for QrVerification
source§fn clone(&self) -> QrVerification
fn clone(&self) -> QrVerification
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for QrVerification
Available on non-tarpaulin_include
only.
impl Debug for QrVerification
tarpaulin_include
only.source§impl From<QrVerification> for Verification
impl From<QrVerification> for Verification
source§fn from(qr: QrVerification) -> Self
fn from(qr: QrVerification) -> Self
Auto Trait Implementations§
impl Freeze for QrVerification
impl !RefUnwindSafe for QrVerification
impl Send for QrVerification
impl Sync for QrVerification
impl Unpin for QrVerification
impl !UnwindSafe for QrVerification
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, 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