From c1bd6716bd53cb4270eeb032f150ac2c7c1a8f96 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Wed, 5 Jan 2022 07:00:49 -0600 Subject: Implement Mkdir --- src/ops/traits.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/ops/traits.rs') diff --git a/src/ops/traits.rs b/src/ops/traits.rs index 70e529a..9808358 100644 --- a/src/ops/traits.rs +++ b/src/ops/traits.rs @@ -1,5 +1,5 @@ use crate::{ - io::{Entry, FsInfo, Interruptible, Known, Stat}, + io::{Entry, FsInfo, Interruptible, Known, Mode, Stat}, Done, Ino, Operation, Reply, Request, Ttl, }; @@ -41,6 +41,10 @@ pub trait RequestFlags<'o>: Operation<'o> { fn flags(request: &Request<'o, Self>) -> Self::Flags; } +pub trait RequestMode<'o>: Operation<'o> { + fn mode(request: &Request<'o, Self>) -> Mode; +} + pub trait ReplyOk<'o>: Operation<'o> { fn ok(reply: Reply<'o, Self>) -> Done<'o> { reply.empty() @@ -128,6 +132,13 @@ impl<'o, O: Operation<'o>> Request<'o, O> { O::flags(self) } + pub fn mode(&self) -> Mode + where + O: RequestMode<'o>, + { + O::mode(self) + } + pub fn forget_list(&self) -> impl '_ + Iterator where O: RequestForget<'o>, -- cgit v1.2.3