pub enum DataCodingScheme {
    Standard {
        compressed: bool,
        class: MessageClass,
        encoding: MessageEncoding,
    },
    Reserved,
    MessageWaitingDiscard {
        waiting: bool,
        type_indication: MessageWaitingType,
    },
    MessageWaiting {
        waiting: bool,
        type_indication: MessageWaitingType,
        ucs2: bool,
    },
}
Expand description

The data coding scheme of the message.

Basically, this enum is a decoded 8-bit field that has a bunch of different cases, which is why there are so many options here.

The meanings explained in the Huawei spec are very confusing and sometimes overlapping. Use the encoding method to figure out what encoding to use, which is probably the only real use you’re going to have for this struct anyway.

Variants§

§

Standard

Fields

§compressed: bool

Whether or not the message is compressed, but this isn’t actually supported.

§class: MessageClass

The message class (flash SMS, stored to SIM only, etc.)

§encoding: MessageEncoding

The message encoding (7-bit, UCS-2, 8-bit)

Standard coding scheme.

§

Reserved

Reserved value.

§

MessageWaitingDiscard

Fields

§waiting: bool

Enables or disables message waiting indication.

§type_indication: MessageWaitingType

Type of message waiting.

Discard the message content, but display the message waiting indication to the user.

§

MessageWaiting

Fields

§waiting: bool

Enables or disables message waiting indication.

§type_indication: MessageWaitingType

Type of message waiting.

§ucs2: bool

Whether or not the message is encoded in UCS-2 format.

Store the message content, and display the message waiting indication to the user.

Implementations§

source§

impl DataCodingScheme

source

pub fn encoding(&self) -> MessageEncoding

Determine which character encoding the message uses (i.e. GSM 7-bit, UCS-2, …)

(Some of these answers might be guesses.)

Trait Implementations§

source§

impl Clone for DataCodingScheme

source§

fn clone(&self) -> DataCodingScheme

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 DataCodingScheme

source§

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

Formats the value using the given formatter. Read more
source§

impl From<u8> for DataCodingScheme

source§

fn from(b: u8) -> Self

Converts to this type from the input type.
source§

impl Into<u8> for DataCodingScheme

source§

fn into(self) -> u8

Converts this type into the (usually inferred) input type.
source§

impl PartialEq<DataCodingScheme> for DataCodingScheme

source§

fn eq(&self, other: &DataCodingScheme) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for DataCodingScheme

source§

impl Eq for DataCodingScheme

source§

impl StructuralEq for DataCodingScheme

source§

impl StructuralPartialEq for DataCodingScheme

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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> ToOwned for Twhere T: Clone,

§

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 Twhere 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 Twhere 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.