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}