Struct File

Source
pub struct File<'a> { /* private fields */ }
Expand description

A file on the storage.

Implementations§

Source§

impl<'a> File<'a>

Source

pub fn id(&self) -> u32

Retrieves the ID of the file.

Source

pub fn name(&self) -> &str

Retrieves the name of the file.

§Panics

Panics if the name of the file is not a valid UTF-8.

Examples found in repository?
examples/copy-to-host.rs (line 9)
4fn main() -> libmtp::Result<()> {
5	let device = Device::from_serial("GVEV4I3E0WU1")?.expect("Device should exist");
6	let storage = device.find_storage(65537).expect("Storage should exist");
7	for object in storage.iter_recursive() {
8		if let Object::File(file) = object {
9			let path = format!("/tmp/libmtp-{}", file.name());
10			file.copy_to_host(path)?;
11			break;
12		}
13	}
14	Ok(())
15}
Source

pub fn kind(&self) -> FileKind

Retrieves the kind of the file.

Source

pub fn size(&self) -> u64

Retrieves the total size in bytes of the file.

Source

pub fn rename<'b>(&self, name: &'b str) -> Result<()>

Changes the name of the file.

§Errors

Returns an error if a sibling object with the same name already exists or if the operation has failed.

§Panics

Panics if the name of the file contains a nul byte.

Source

pub fn move_to(&self, parent: Folder<'_>) -> Result<()>

Moves the file to the other folder.

§Errors

Returns an error if an object with the same name already exists in the other folder or if the operation has failed.

Source

pub fn copy_to(&self, parent: Folder<'_>) -> Result<()>

Copies the file to the other folder.

§Errors

Returns an error if an object with the same name already exists in the other folder or if the operation has failed.

Source

pub fn copy_to_host<P>(&self, path: P) -> Result<()>
where P: AsRef<Path>,

Copies the file to the host computer.

§Errors

Returns an error if the operation has failed.

Examples found in repository?
examples/copy-to-host.rs (line 10)
4fn main() -> libmtp::Result<()> {
5	let device = Device::from_serial("GVEV4I3E0WU1")?.expect("Device should exist");
6	let storage = device.find_storage(65537).expect("Storage should exist");
7	for object in storage.iter_recursive() {
8		if let Object::File(file) = object {
9			let path = format!("/tmp/libmtp-{}", file.name());
10			file.copy_to_host(path)?;
11			break;
12		}
13	}
14	Ok(())
15}
Source

pub fn delete(&self) -> Result<()>

Deletes the file from the storage.

§Errors

Returns an error if the operation has failed.

Trait Implementations§

Source§

impl<'a> Clone for File<'a>

Source§

fn clone(&self) -> File<'a>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for File<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> Hash for File<'a>

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for File<'a>

§

impl<'a> RefUnwindSafe for File<'a>

§

impl<'a> !Send for File<'a>

§

impl<'a> !Sync for File<'a>

§

impl<'a> Unpin for File<'a>

§

impl<'a> UnwindSafe for File<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.