1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
use std::{fmt, marker::PhantomData};

use super::{DBusAddr, KeyValFmt, KeyValFmtAdd};
use crate::{Error, Result};

/// `systemd:` D-Bus transport.
#[derive(Debug, PartialEq, Eq)]
pub struct Systemd<'a> {
    // use a phantom lifetime for eventually future fields and consistency
    phantom: PhantomData<&'a ()>,
}

impl<'a> TryFrom<&'a DBusAddr<'a>> for Systemd<'a> {
    type Error = Error;

    fn try_from(_s: &'a DBusAddr<'a>) -> Result<Self> {
        Ok(Systemd {
            phantom: PhantomData,
        })
    }
}

impl<'a> fmt::Display for Systemd<'a> {
    fn fmt(&self, _f: &mut fmt::Formatter<'_>) -> fmt::Result {
        Ok(())
    }
}

impl KeyValFmtAdd for Systemd<'_> {
    fn key_val_fmt_add<'a: 'b, 'b>(&'a self, kv: KeyValFmt<'b>) -> KeyValFmt<'b> {
        kv
    }
}