bitwarden_api_api/models/
device_type.rs1use serde::{Deserialize, Serialize};
12use serde_repr::{Deserialize_repr, Serialize_repr};
13
14use crate::models;
15#[repr(i64)]
17#[derive(
18 Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize_repr, Deserialize_repr,
19)]
20pub enum DeviceType {
21 Android = 0,
22 iOS = 1,
23 ChromeExtension = 2,
24 FirefoxExtension = 3,
25 OperaExtension = 4,
26 EdgeExtension = 5,
27 WindowsDesktop = 6,
28 MacOsDesktop = 7,
29 LinuxDesktop = 8,
30 ChromeBrowser = 9,
31 FirefoxBrowser = 10,
32 OperaBrowser = 11,
33 EdgeBrowser = 12,
34 IEBrowser = 13,
35 UnknownBrowser = 14,
36 AndroidAmazon = 15,
37 UWP = 16,
38 SafariBrowser = 17,
39 VivaldiBrowser = 18,
40 VivaldiExtension = 19,
41 SafariExtension = 20,
42 SDK = 21,
43 Server = 22,
44 WindowsCLI = 23,
45 MacOsCLI = 24,
46 LinuxCLI = 25,
47}
48
49impl std::fmt::Display for DeviceType {
50 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
51 write!(
52 f,
53 "{}",
54 match self {
55 Self::Android => "0",
56 Self::iOS => "1",
57 Self::ChromeExtension => "2",
58 Self::FirefoxExtension => "3",
59 Self::OperaExtension => "4",
60 Self::EdgeExtension => "5",
61 Self::WindowsDesktop => "6",
62 Self::MacOsDesktop => "7",
63 Self::LinuxDesktop => "8",
64 Self::ChromeBrowser => "9",
65 Self::FirefoxBrowser => "10",
66 Self::OperaBrowser => "11",
67 Self::EdgeBrowser => "12",
68 Self::IEBrowser => "13",
69 Self::UnknownBrowser => "14",
70 Self::AndroidAmazon => "15",
71 Self::UWP => "16",
72 Self::SafariBrowser => "17",
73 Self::VivaldiBrowser => "18",
74 Self::VivaldiExtension => "19",
75 Self::SafariExtension => "20",
76 Self::SDK => "21",
77 Self::Server => "22",
78 Self::WindowsCLI => "23",
79 Self::MacOsCLI => "24",
80 Self::LinuxCLI => "25",
81 }
82 )
83 }
84}
85impl Default for DeviceType {
86 fn default() -> DeviceType {
87 Self::Android
88 }
89}