lber_serde/structures/
boolean.rs1use std::default;
2use structure;
3use universal;
4
5use super::ASNTag;
6use common::TagClass;
7
8#[derive(Clone, Copy, Debug, PartialEq)]
10pub struct Boolean {
11 pub id: u64,
12 pub class: TagClass,
13 pub inner: bool,
14}
15
16impl ASNTag for Boolean {
17 fn into_structure(self) -> structure::StructureTag {
18 structure::StructureTag {
19 id: self.id,
20 class: self.class,
21 payload: structure::PL::P(if self.inner { vec![0xFF] } else { vec![0x00] }),
22 }
23 }
24}
25
26impl default::Default for Boolean {
27 fn default() -> Self {
28 Boolean {
29 id: universal::Types::Boolean as u64,
30 class: TagClass::Universal,
31 inner: false,
32 }
33 }
34}