Skip to main content

DataCodingScheme

Enum DataCodingScheme 

Source
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

Standard coding scheme.

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)

§

Reserved

Reserved value.

§

MessageWaitingDiscard

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

Fields

§waiting: bool

Enables or disables message waiting indication.

§type_indication: MessageWaitingType

Type of message waiting.

§

MessageWaiting

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

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.

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 duplicate of the value. Read more
1.0.0 (const: unstable) · 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 for DataCodingScheme

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

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

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 StructuralPartialEq for DataCodingScheme

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
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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 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> ToOwned for T
where T: Clone,

Source§

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 T
where U: Into<T>,

Source§

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

Source§

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.