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
34
35
36
37
38
39
40
41
//! This crate aims to provide a flexible and high-level interface to the `libmtp` library, at
//! its current state is alpha software and may not be used in production since some features
//! are still missing, said this contributions are welcome.
//!
//! The usual way to start using this library is with the
//! [`detect_raw_devices`](device/raw/index.html) function which returns a list of
//! [`RawDevice`](device/raw/struct.RawDevice.html)s, i.e. the connected USB devices, using these
//! devices you can open an [`MtpDevice`](device/struct.MtpDevice.html), with this you can gather
//! device properties like manufacturer, model, battery level, etc; and manage objects like files,
//! tracks, albums, etc with [`Storage`](storage/struct.Storage.html) and [`StoragePool`](storage/struct.StoragePool.html).
//!
//! Here we list the more important modules:
//! - [`device`](device/index.html): Gather/set properties and obtain storage.
//! - [`storage`](storage/index.html): Send/get objects (files, tracks, etc) and manage storage.
//! - [`object`](object/index.html): Copying, moving and deleting objects.
//!
//! Aditionally if you want a more low-level control on the attributes of certain objects you may
//! want to check the methods to get and set properties in the [`Object`](object/trait.Object.html)
//! trait to see how to use it with instances of its [implementors](trait.Object.html#implementors).
use Error;
/// Re-export for support convenience.
pub use chrono;
/// Custom Result type, this is the most used Result in this crate.
pub type Result<T> = Result;