libmtp_rs/device/
capabilities.rs

1//! Describes the device capabilities, some devices may not necessarily implement
2//! or support certain capabilities, like copying or moving objects.
3
4use num_derive::{FromPrimitive, ToPrimitive};
5
6/// Supported `libmtp` device capabilities, you can test if an MTP device supports
7/// one of those with [`MtpDevice::check_capability`](../struct.MtpDevice.html#method.check_capability)
8#[derive(Debug, Clone, FromPrimitive, ToPrimitive)]
9pub enum DeviceCapability {
10    /// This capability tells whether you can get partial objects.
11    GetPartialObject = 0,
12    /// This capability tells whether you can send partial objects.
13    SendPartialObject,
14    /// This capability tells whether you can edit objects in-place on a device.
15    EditObjects,
16    /// This capability tells whether you can move an object.
17    MoveObject,
18    /// This capability tells whether you can copy an object.
19    CopyObject,
20}