abol-codegen 0.1.0

Code generation tools and RADIUS dictionary definitions for Abol.
Documentation
use abol_core::packet::Packet;
use std::net::Ipv6Addr;
pub const FRAMED_IPV6_ADDRESS_TYPE: u8 = 168u8;
pub const DNS_SERVER_IPV6_ADDRESS_TYPE: u8 = 169u8;
pub const ROUTE_IPV6_INFORMATION_TYPE: u8 = 170u8;
pub const DELEGATED_IPV6_PREFIX_POOL_TYPE: u8 = 171u8;
pub const STATEFUL_IPV6_ADDRESS_POOL_TYPE: u8 = 172u8;
pub trait Rfc6911Ext {
    fn get_framed_ipv6_address(&self) -> Option<Ipv6Addr>;
    fn set_framed_ipv6_address(&mut self, value: Ipv6Addr);
    fn get_dns_server_ipv6_address(&self) -> Option<Ipv6Addr>;
    fn set_dns_server_ipv6_address(&mut self, value: Ipv6Addr);
    fn get_route_ipv6_information(&self) -> Option<Vec<u8>>;
    fn set_route_ipv6_information(&mut self, value: Vec<u8>);
    fn get_delegated_ipv6_prefix_pool(&self) -> Option<String>;
    fn set_delegated_ipv6_prefix_pool(&mut self, value: impl Into<String>);
    fn get_stateful_ipv6_address_pool(&self) -> Option<String>;
    fn set_stateful_ipv6_address_pool(&mut self, value: impl Into<String>);
}
impl Rfc6911Ext for Packet {
    fn get_framed_ipv6_address(&self) -> Option<Ipv6Addr> {
        self.get_attribute_as::<Ipv6Addr>(FRAMED_IPV6_ADDRESS_TYPE)
    }
    fn set_framed_ipv6_address(&mut self, value: Ipv6Addr) {
        let wire_val = value;
        self.set_attribute_as::<Ipv6Addr>(FRAMED_IPV6_ADDRESS_TYPE, wire_val);
    }
    fn get_dns_server_ipv6_address(&self) -> Option<Ipv6Addr> {
        self.get_attribute_as::<Ipv6Addr>(DNS_SERVER_IPV6_ADDRESS_TYPE)
    }
    fn set_dns_server_ipv6_address(&mut self, value: Ipv6Addr) {
        let wire_val = value;
        self.set_attribute_as::<Ipv6Addr>(DNS_SERVER_IPV6_ADDRESS_TYPE, wire_val);
    }
    fn get_route_ipv6_information(&self) -> Option<Vec<u8>> {
        self.get_attribute_as::<Vec<u8>>(ROUTE_IPV6_INFORMATION_TYPE)
    }
    fn set_route_ipv6_information(&mut self, value: Vec<u8>) {
        let wire_val = value;
        self.set_attribute_as::<Vec<u8>>(ROUTE_IPV6_INFORMATION_TYPE, wire_val);
    }
    fn get_delegated_ipv6_prefix_pool(&self) -> Option<String> {
        self.get_attribute_as::<String>(DELEGATED_IPV6_PREFIX_POOL_TYPE)
    }
    fn set_delegated_ipv6_prefix_pool(&mut self, value: impl Into<String>) {
        let wire_val: String = value.into();
        self.set_attribute_as::<String>(DELEGATED_IPV6_PREFIX_POOL_TYPE, wire_val);
    }
    fn get_stateful_ipv6_address_pool(&self) -> Option<String> {
        self.get_attribute_as::<String>(STATEFUL_IPV6_ADDRESS_POOL_TYPE)
    }
    fn set_stateful_ipv6_address_pool(&mut self, value: impl Into<String>) {
        let wire_val: String = value.into();
        self.set_attribute_as::<String>(STATEFUL_IPV6_ADDRESS_POOL_TYPE, wire_val);
    }
}