#[non_exhaustive]pub struct EmvCommonAttributesBuilder { /* private fields */ }
Expand description
A builder for EmvCommonAttributes
.
Implementations§
Source§impl EmvCommonAttributesBuilder
impl EmvCommonAttributesBuilder
Sourcepub fn major_key_derivation_mode(self, input: MajorKeyDerivationMode) -> Self
pub fn major_key_derivation_mode(self, input: MajorKeyDerivationMode) -> Self
The method to use when deriving the master key for the payment card.
This field is required.Sourcepub fn set_major_key_derivation_mode(
self,
input: Option<MajorKeyDerivationMode>,
) -> Self
pub fn set_major_key_derivation_mode( self, input: Option<MajorKeyDerivationMode>, ) -> Self
The method to use when deriving the master key for the payment card.
Sourcepub fn get_major_key_derivation_mode(&self) -> &Option<MajorKeyDerivationMode>
pub fn get_major_key_derivation_mode(&self) -> &Option<MajorKeyDerivationMode>
The method to use when deriving the master key for the payment card.
Sourcepub fn primary_account_number(self, input: impl Into<String>) -> Self
pub fn primary_account_number(self, input: impl Into<String>) -> Self
The Primary Account Number (PAN) of the cardholder.
This field is required.Sourcepub fn set_primary_account_number(self, input: Option<String>) -> Self
pub fn set_primary_account_number(self, input: Option<String>) -> Self
The Primary Account Number (PAN) of the cardholder.
Sourcepub fn get_primary_account_number(&self) -> &Option<String>
pub fn get_primary_account_number(&self) -> &Option<String>
The Primary Account Number (PAN) of the cardholder.
Sourcepub fn pan_sequence_number(self, input: impl Into<String>) -> Self
pub fn pan_sequence_number(self, input: impl Into<String>) -> Self
A number that identifies and differentiates payment cards with the same Primary Account Number (PAN). Typically 00 is used, if no value is provided by the terminal.
This field is required.Sourcepub fn set_pan_sequence_number(self, input: Option<String>) -> Self
pub fn set_pan_sequence_number(self, input: Option<String>) -> Self
A number that identifies and differentiates payment cards with the same Primary Account Number (PAN). Typically 00 is used, if no value is provided by the terminal.
Sourcepub fn get_pan_sequence_number(&self) -> &Option<String>
pub fn get_pan_sequence_number(&self) -> &Option<String>
A number that identifies and differentiates payment cards with the same Primary Account Number (PAN). Typically 00 is used, if no value is provided by the terminal.
Sourcepub fn application_cryptogram(self, input: impl Into<String>) -> Self
pub fn application_cryptogram(self, input: impl Into<String>) -> Self
The application cryptogram for the current transaction that is provided by the terminal during transaction processing.
This field is required.Sourcepub fn set_application_cryptogram(self, input: Option<String>) -> Self
pub fn set_application_cryptogram(self, input: Option<String>) -> Self
The application cryptogram for the current transaction that is provided by the terminal during transaction processing.
Sourcepub fn get_application_cryptogram(&self) -> &Option<String>
pub fn get_application_cryptogram(&self) -> &Option<String>
The application cryptogram for the current transaction that is provided by the terminal during transaction processing.
Sourcepub fn mode(self, input: EmvEncryptionMode) -> Self
pub fn mode(self, input: EmvEncryptionMode) -> Self
The block cipher method to use for encryption.
This field is required.Sourcepub fn set_mode(self, input: Option<EmvEncryptionMode>) -> Self
pub fn set_mode(self, input: Option<EmvEncryptionMode>) -> Self
The block cipher method to use for encryption.
Sourcepub fn get_mode(&self) -> &Option<EmvEncryptionMode>
pub fn get_mode(&self) -> &Option<EmvEncryptionMode>
The block cipher method to use for encryption.
Sourcepub fn pin_block_padding_type(self, input: PinBlockPaddingType) -> Self
pub fn pin_block_padding_type(self, input: PinBlockPaddingType) -> Self
The padding to be added to the PIN block prior to encryption.
Padding type should be ISO_IEC_7816_4
, if PinBlockLengthPosition
is set to FRONT_OF_PIN_BLOCK
. No padding is required, if PinBlockLengthPosition
is set to NONE
.
Sourcepub fn set_pin_block_padding_type(
self,
input: Option<PinBlockPaddingType>,
) -> Self
pub fn set_pin_block_padding_type( self, input: Option<PinBlockPaddingType>, ) -> Self
The padding to be added to the PIN block prior to encryption.
Padding type should be ISO_IEC_7816_4
, if PinBlockLengthPosition
is set to FRONT_OF_PIN_BLOCK
. No padding is required, if PinBlockLengthPosition
is set to NONE
.
Sourcepub fn get_pin_block_padding_type(&self) -> &Option<PinBlockPaddingType>
pub fn get_pin_block_padding_type(&self) -> &Option<PinBlockPaddingType>
The padding to be added to the PIN block prior to encryption.
Padding type should be ISO_IEC_7816_4
, if PinBlockLengthPosition
is set to FRONT_OF_PIN_BLOCK
. No padding is required, if PinBlockLengthPosition
is set to NONE
.
Sourcepub fn pin_block_length_position(self, input: PinBlockLengthPosition) -> Self
pub fn pin_block_length_position(self, input: PinBlockLengthPosition) -> Self
Specifies if PIN block length should be added to front of the pin block.
If value is set to FRONT_OF_PIN_BLOCK
, then PIN block padding type should be ISO_IEC_7816_4
.
Sourcepub fn set_pin_block_length_position(
self,
input: Option<PinBlockLengthPosition>,
) -> Self
pub fn set_pin_block_length_position( self, input: Option<PinBlockLengthPosition>, ) -> Self
Specifies if PIN block length should be added to front of the pin block.
If value is set to FRONT_OF_PIN_BLOCK
, then PIN block padding type should be ISO_IEC_7816_4
.
Sourcepub fn get_pin_block_length_position(&self) -> &Option<PinBlockLengthPosition>
pub fn get_pin_block_length_position(&self) -> &Option<PinBlockLengthPosition>
Specifies if PIN block length should be added to front of the pin block.
If value is set to FRONT_OF_PIN_BLOCK
, then PIN block padding type should be ISO_IEC_7816_4
.
Sourcepub fn build(self) -> Result<EmvCommonAttributes, BuildError>
pub fn build(self) -> Result<EmvCommonAttributes, BuildError>
Consumes the builder and constructs a EmvCommonAttributes
.
This method will fail if any of the following fields are not set:
Trait Implementations§
Source§impl Clone for EmvCommonAttributesBuilder
impl Clone for EmvCommonAttributesBuilder
Source§fn clone(&self) -> EmvCommonAttributesBuilder
fn clone(&self) -> EmvCommonAttributesBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for EmvCommonAttributesBuilder
impl Debug for EmvCommonAttributesBuilder
Source§impl Default for EmvCommonAttributesBuilder
impl Default for EmvCommonAttributesBuilder
Source§fn default() -> EmvCommonAttributesBuilder
fn default() -> EmvCommonAttributesBuilder
impl StructuralPartialEq for EmvCommonAttributesBuilder
Auto Trait Implementations§
impl Freeze for EmvCommonAttributesBuilder
impl RefUnwindSafe for EmvCommonAttributesBuilder
impl Send for EmvCommonAttributesBuilder
impl Sync for EmvCommonAttributesBuilder
impl Unpin for EmvCommonAttributesBuilder
impl UnwindSafe for EmvCommonAttributesBuilder
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§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);