transmission_gobject/
encryption.rs

1use glib::Enum;
2use transmission_client::Encryption;
3
4#[derive(Default, Copy, Debug, Clone, PartialEq, Enum)]
5#[repr(u32)]
6#[enum_type(name = "TrEncrypption")]
7pub enum TrEncryption {
8    Required,
9    #[default]
10    Preferred,
11    Tolerated,
12}
13
14impl From<u32> for TrEncryption {
15    fn from(u: u32) -> Self {
16        match u {
17            0 => Self::Required,
18            1 => Self::Preferred,
19            2 => Self::Tolerated,
20            _ => Self::default(),
21        }
22    }
23}
24
25impl From<Encryption> for TrEncryption {
26    fn from(enc: Encryption) -> Self {
27        match enc {
28            Encryption::Required => TrEncryption::Required,
29            Encryption::Preferred => TrEncryption::Preferred,
30            Encryption::Tolerated => TrEncryption::Tolerated,
31        }
32    }
33}
34
35impl From<TrEncryption> for Encryption {
36    fn from(val: TrEncryption) -> Self {
37        match val {
38            TrEncryption::Required => Encryption::Required,
39            TrEncryption::Preferred => Encryption::Preferred,
40            TrEncryption::Tolerated => Encryption::Tolerated,
41        }
42    }
43}