Folder

Struct Folder 

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

A folder on the storage.

Implementations§

Source§

impl<'a> Folder<'a>

Source

pub fn id(&self) -> u32

Retrieves the ID of the folder.

Source

pub fn name(&self) -> &str

Retrieves the name of the folder.

§Panics

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

Source

pub fn owner(&self) -> &Storage<'_>

Retrieves the storage to which the folder belongs.

Source

pub fn parent(&self) -> Option<&Folder<'_>>

Retrieves the folder to which the folder belongs.

Source

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

Changes the name of the foler.

§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 folder contains a nul byte.

Source

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

Moves the folder 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 folder 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 delete(&self) -> Result<()>

Deletes the folder from the storage.

§Errors

Returns an error if the operation has failed.

Source

pub fn create_folder(&self, name: &str) -> Result<u32>

Creates a new folder inside the folder. Returns the ID of the created folder.

§Errors

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

§Panics

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

Source

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

Copies the file from the host computer to the folder.

§Errors

Returns an error if reading the file’s metadata has failed or if the operation has failed.

§Panics

Panics if the path doesn’t end in file name, or if file name is not a valid UTF-8.

Examples found in repository?
examples/copy-from-host.rs (line 10)
5fn main() -> libmtp::Result<()> {
6	let device = Device::from_serial("GVEV4I3E0WU1")?.expect("Device should exist");
7	let storage = device.find_storage(65537).expect("Storage should exist");
8	for object in storage.iter_recursive() {
9		if let Object::Folder(folder) = object {
10			folder.copy_file_from_host("/tmp/hello.txt", FileKind::Text)?;
11			break;
12		}
13	}
14	Ok(())
15}
Source

pub fn iter(&self) -> ObjectIter<'_>

Retrieves an iterator over the objects of the folder.

Source

pub fn iter_recursive(&self) -> ObjectRecursiveIter<'_>

Retrieves a recursive iterator over the objects of the folder.

Trait Implementations§

Source§

impl<'a> Clone for Folder<'a>

Source§

fn clone(&self) -> Folder<'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 Debug for Folder<'_>

Source§

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

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

impl<'a> Hash for Folder<'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
Source§

impl<'a> IntoIterator for &'a Folder<'a>

Source§

type Item = Object<'a>

The type of the elements being iterated over.
Source§

type IntoIter = ObjectIter<'a>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Folder<'a>

§

impl<'a> RefUnwindSafe for Folder<'a>

§

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

§

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

§

impl<'a> Unpin for Folder<'a>

§

impl<'a> UnwindSafe for Folder<'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.