pub use crate::data::network::{Ip, Address};
extern crate alloc;
use alloc::borrow::Cow;
pub struct Addresses<'a> {
_inner: &'a Interfaces,
}
impl<'a> Addresses<'a> {
pub fn next_addr(&mut self) -> Option<Address> {
None
}
}
impl<'a> Iterator for Addresses<'a> {
type Item = Address;
#[inline]
fn next(&mut self) -> Option<Self::Item> {
self.next_addr()
}
}
pub struct Interface<'a> {
_inner: &'a Interfaces,
}
impl<'a> Interface<'a> {
#[inline(always)]
pub fn name(&'a self) -> Option<Cow<'a, str>> {
None
}
#[inline(always)]
pub fn addresses(&'a self) -> Addresses<'a> {
Addresses {
_inner: self._inner
}
}
}
pub struct InterfacesIter<'a> {
_inner: &'a Interfaces,
}
impl<'a> InterfacesIter<'a> {
#[inline(always)]
pub fn interface(&'a self) -> Option<Interface<'a>> {
None
}
#[inline(always)]
pub fn next_interface(&'a mut self) -> Option<Interface<'a>> {
None
}
}
impl<'a> Iterator for InterfacesIter<'a> {
type Item = Interface<'a>;
#[inline]
fn next(&mut self) -> Option<Self::Item> {
None
}
}
pub struct Interfaces {
}
impl Interfaces {
#[inline(always)]
pub fn new() -> Option<Self> {
Some(Self {
})
}
#[inline(always)]
pub fn iter(&self) -> InterfacesIter<'_> {
InterfacesIter {
_inner: self
}
}
}
impl<'a> IntoIterator for &'a Interfaces {
type Item = Interface<'a>;
type IntoIter = InterfacesIter<'a>;
#[inline(always)]
fn into_iter(self) -> Self::IntoIter {
self.iter()
}
}