ReadAll

Trait ReadAll 

Source
pub trait ReadAll: Sized {
    // Required method
    fn read(i: &mut Iter<'_>) -> Result<Self, TypeMismatchError>;
}
Expand description

Helper trait to read all arguments from a message.

Required Methods§

Source

fn read(i: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Performs the read operation.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl ReadAll for ()

Source§

fn read(_: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl ReadAll for VecDeque<Box<dyn RefArg>>

This is a fallback for methods that have tons of arguments. Usually we’ll use a tuple because it is more ergonomic, but ReadAll is only implemented for tuples up to a certain size.

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>> ReadAll for (A,)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>> ReadAll for (A, B)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>> ReadAll for (A, B, C)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>, J: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I, J)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>, J: Arg + for<'z> Get<'z>, K: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I, J, K)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>, J: Arg + for<'z> Get<'z>, K: Arg + for<'z> Get<'z>, L: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I, J, K, L)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>, J: Arg + for<'z> Get<'z>, K: Arg + for<'z> Get<'z>, L: Arg + for<'z> Get<'z>, M: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I, J, K, L, M)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>, J: Arg + for<'z> Get<'z>, K: Arg + for<'z> Get<'z>, L: Arg + for<'z> Get<'z>, M: Arg + for<'z> Get<'z>, N: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>, J: Arg + for<'z> Get<'z>, K: Arg + for<'z> Get<'z>, L: Arg + for<'z> Get<'z>, M: Arg + for<'z> Get<'z>, N: Arg + for<'z> Get<'z>, O: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>, J: Arg + for<'z> Get<'z>, K: Arg + for<'z> Get<'z>, L: Arg + for<'z> Get<'z>, M: Arg + for<'z> Get<'z>, N: Arg + for<'z> Get<'z>, O: Arg + for<'z> Get<'z>, P: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>, J: Arg + for<'z> Get<'z>, K: Arg + for<'z> Get<'z>, L: Arg + for<'z> Get<'z>, M: Arg + for<'z> Get<'z>, N: Arg + for<'z> Get<'z>, O: Arg + for<'z> Get<'z>, P: Arg + for<'z> Get<'z>, R: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, R)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>, J: Arg + for<'z> Get<'z>, K: Arg + for<'z> Get<'z>, L: Arg + for<'z> Get<'z>, M: Arg + for<'z> Get<'z>, N: Arg + for<'z> Get<'z>, O: Arg + for<'z> Get<'z>, P: Arg + for<'z> Get<'z>, R: Arg + for<'z> Get<'z>, S: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, R, S)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>, J: Arg + for<'z> Get<'z>, K: Arg + for<'z> Get<'z>, L: Arg + for<'z> Get<'z>, M: Arg + for<'z> Get<'z>, N: Arg + for<'z> Get<'z>, O: Arg + for<'z> Get<'z>, P: Arg + for<'z> Get<'z>, R: Arg + for<'z> Get<'z>, S: Arg + for<'z> Get<'z>, T: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, R, S, T)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>, J: Arg + for<'z> Get<'z>, K: Arg + for<'z> Get<'z>, L: Arg + for<'z> Get<'z>, M: Arg + for<'z> Get<'z>, N: Arg + for<'z> Get<'z>, O: Arg + for<'z> Get<'z>, P: Arg + for<'z> Get<'z>, R: Arg + for<'z> Get<'z>, S: Arg + for<'z> Get<'z>, T: Arg + for<'z> Get<'z>, U: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, R, S, T, U)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>, J: Arg + for<'z> Get<'z>, K: Arg + for<'z> Get<'z>, L: Arg + for<'z> Get<'z>, M: Arg + for<'z> Get<'z>, N: Arg + for<'z> Get<'z>, O: Arg + for<'z> Get<'z>, P: Arg + for<'z> Get<'z>, R: Arg + for<'z> Get<'z>, S: Arg + for<'z> Get<'z>, T: Arg + for<'z> Get<'z>, U: Arg + for<'z> Get<'z>, V: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, R, S, T, U, V)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>, J: Arg + for<'z> Get<'z>, K: Arg + for<'z> Get<'z>, L: Arg + for<'z> Get<'z>, M: Arg + for<'z> Get<'z>, N: Arg + for<'z> Get<'z>, O: Arg + for<'z> Get<'z>, P: Arg + for<'z> Get<'z>, R: Arg + for<'z> Get<'z>, S: Arg + for<'z> Get<'z>, T: Arg + for<'z> Get<'z>, U: Arg + for<'z> Get<'z>, V: Arg + for<'z> Get<'z>, W: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, R, S, T, U, V, W)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>, J: Arg + for<'z> Get<'z>, K: Arg + for<'z> Get<'z>, L: Arg + for<'z> Get<'z>, M: Arg + for<'z> Get<'z>, N: Arg + for<'z> Get<'z>, O: Arg + for<'z> Get<'z>, P: Arg + for<'z> Get<'z>, R: Arg + for<'z> Get<'z>, S: Arg + for<'z> Get<'z>, T: Arg + for<'z> Get<'z>, U: Arg + for<'z> Get<'z>, V: Arg + for<'z> Get<'z>, W: Arg + for<'z> Get<'z>, X: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, R, S, T, U, V, W, X)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>, J: Arg + for<'z> Get<'z>, K: Arg + for<'z> Get<'z>, L: Arg + for<'z> Get<'z>, M: Arg + for<'z> Get<'z>, N: Arg + for<'z> Get<'z>, O: Arg + for<'z> Get<'z>, P: Arg + for<'z> Get<'z>, R: Arg + for<'z> Get<'z>, S: Arg + for<'z> Get<'z>, T: Arg + for<'z> Get<'z>, U: Arg + for<'z> Get<'z>, V: Arg + for<'z> Get<'z>, W: Arg + for<'z> Get<'z>, X: Arg + for<'z> Get<'z>, Y: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, R, S, T, U, V, W, X, Y)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Source§

impl<A: Arg + for<'z> Get<'z>, B: Arg + for<'z> Get<'z>, C: Arg + for<'z> Get<'z>, D: Arg + for<'z> Get<'z>, E: Arg + for<'z> Get<'z>, F: Arg + for<'z> Get<'z>, G: Arg + for<'z> Get<'z>, H: Arg + for<'z> Get<'z>, I: Arg + for<'z> Get<'z>, J: Arg + for<'z> Get<'z>, K: Arg + for<'z> Get<'z>, L: Arg + for<'z> Get<'z>, M: Arg + for<'z> Get<'z>, N: Arg + for<'z> Get<'z>, O: Arg + for<'z> Get<'z>, P: Arg + for<'z> Get<'z>, R: Arg + for<'z> Get<'z>, S: Arg + for<'z> Get<'z>, T: Arg + for<'z> Get<'z>, U: Arg + for<'z> Get<'z>, V: Arg + for<'z> Get<'z>, W: Arg + for<'z> Get<'z>, X: Arg + for<'z> Get<'z>, Y: Arg + for<'z> Get<'z>, Z: Arg + for<'z> Get<'z>> ReadAll for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, R, S, T, U, V, W, X, Y, Z)

Source§

fn read(ii: &mut Iter<'_>) -> Result<Self, TypeMismatchError>

Implementors§

Source§

impl ReadAll for dbus::blocking::stdintf::org_freedesktop_dbus::ObjectManagerInterfacesAdded

Source§

impl ReadAll for dbus::blocking::stdintf::org_freedesktop_dbus::ObjectManagerInterfacesRemoved

Source§

impl ReadAll for dbus::blocking::stdintf::org_freedesktop_dbus::PropertiesPropertiesChanged

Source§

impl ReadAll for dbus::ffidisp::stdintf::org_freedesktop_dbus::ObjectManagerInterfacesAdded

Source§

impl ReadAll for dbus::ffidisp::stdintf::org_freedesktop_dbus::ObjectManagerInterfacesRemoved

Source§

impl ReadAll for dbus::ffidisp::stdintf::org_freedesktop_dbus::PropertiesPropertiesChanged

Source§

impl ReadAll for dbus::nonblock::stdintf::org_freedesktop_dbus::ObjectManagerInterfacesAdded

Source§

impl ReadAll for dbus::nonblock::stdintf::org_freedesktop_dbus::ObjectManagerInterfacesRemoved

Source§

impl ReadAll for dbus::nonblock::stdintf::org_freedesktop_dbus::PropertiesPropertiesChanged