Struct inotify::WatchMask
[−]
pub struct WatchMask { /* fields omitted */ }
Describes a file system watch
Passed to Inotify::add_watch
, to describe what file system events
to watch for, and how to do that.
Examples
WatchMask
constants can be passed to Inotify::add_watch
as is. For
example, here's how to create a watch that triggers an event when a file
is accessed:
inotify.add_watch("/tmp/inotify-rs-test-file", WatchMask::ACCESS) .expect("Error adding watch");
You can also combine multiple WatchMask
constants. Here we add a watch
this is triggered both when files are created or deleted in a directory:
inotify.add_watch("/tmp/", WatchMask::CREATE | WatchMask::DELETE) .expect("Error adding watch");
Methods
impl WatchMask
const ACCESS: WatchMask
ACCESS: WatchMask = WatchMask{bits: ffi::IN_ACCESS,}
File was accessed
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
const ATTRIB: WatchMask
ATTRIB: WatchMask = WatchMask{bits: ffi::IN_ATTRIB,}
Metadata (permissions, timestamps, ...) changed
When watching a directory, this event can be triggered for the directory itself, as well as objects inside the directory.
const CLOSE_WRITE: WatchMask
CLOSE_WRITE: WatchMask = WatchMask{bits: ffi::IN_CLOSE_WRITE,}
File opened for writing was closed
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
const CLOSE_NOWRITE: WatchMask
CLOSE_NOWRITE: WatchMask = WatchMask{bits: ffi::IN_CLOSE_NOWRITE,}
File or directory not opened for writing was closed
When watching a directory, this event can be triggered for the directory itself, as well as objects inside the directory.
const CREATE: WatchMask
CREATE: WatchMask = WatchMask{bits: ffi::IN_CREATE,}
File/directory created in watched directory
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
const DELETE: WatchMask
DELETE: WatchMask = WatchMask{bits: ffi::IN_DELETE,}
File/directory deleted from watched directory
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
const DELETE_SELF: WatchMask
DELETE_SELF: WatchMask = WatchMask{bits: ffi::IN_DELETE_SELF,}
Watched file/directory was deleted
const MODIFY: WatchMask
MODIFY: WatchMask = WatchMask{bits: ffi::IN_MODIFY,}
File was modified
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
const MOVE_SELF: WatchMask
MOVE_SELF: WatchMask = WatchMask{bits: ffi::IN_MOVE_SELF,}
Watched file/directory was moved
const MOVED_FROM: WatchMask
MOVED_FROM: WatchMask = WatchMask{bits: ffi::IN_MOVED_FROM,}
File was renamed/moved; watched directory contained old name
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
const MOVED_TO: WatchMask
MOVED_TO: WatchMask = WatchMask{bits: ffi::IN_MOVED_TO,}
File was renamed/moved; watched directory contains new name
When watching a directory, this event is only triggered for objects inside the directory, not the directory itself.
const OPEN: WatchMask
OPEN: WatchMask = WatchMask{bits: ffi::IN_OPEN,}
File or directory was opened
When watching a directory, this event can be triggered for the directory itself, as well as objects inside the directory.
See inotify_sys::IN_OPEN
.
const ALL_EVENTS: WatchMask
ALL_EVENTS: WatchMask = WatchMask{bits: ffi::IN_ALL_EVENTS,}
Watch for all events
This constant is simply a convenient combination of the following other constants:
const MOVE: WatchMask
MOVE: WatchMask = WatchMask{bits: ffi::IN_MOVE,}
Watch for all move events
This constant is simply a convenient combination of the following other constants:
See inotify_sys::IN_MOVE
.
const CLOSE: WatchMask
CLOSE: WatchMask = WatchMask{bits: ffi::IN_CLOSE,}
Watch for all close events
This constant is simply a convenient combination of the following other constants:
const DONT_FOLLOW: WatchMask
DONT_FOLLOW: WatchMask = WatchMask{bits: ffi::IN_DONT_FOLLOW,}
Don't dereference the path if it is a symbolic link
const EXCL_UNLINK: WatchMask
EXCL_UNLINK: WatchMask = WatchMask{bits: ffi::IN_EXCL_UNLINK,}
Filter events for directory entries that have been unlinked
const MASK_ADD: WatchMask
MASK_ADD: WatchMask = WatchMask{bits: ffi::IN_MASK_ADD,}
If a watch for the inode exists, amend it instead of replacing it
const ONESHOT: WatchMask
ONESHOT: WatchMask = WatchMask{bits: ffi::IN_ONESHOT,}
Only receive one event, then remove the watch
const ONLYDIR: WatchMask
ONLYDIR: WatchMask = WatchMask{bits: ffi::IN_ONLYDIR,}
Only watch path, if it is a directory
fn empty() -> WatchMask
Returns an empty set of flags.
fn all() -> WatchMask
Returns the set containing all flags.
fn bits(&self) -> u32
Returns the raw value of the flags currently stored.
fn from_bits(bits: u32) -> Option<WatchMask>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
fn from_bits_truncate(bits: u32) -> WatchMask
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
fn is_empty(&self) -> bool
Returns true
if no flags are currently stored.
fn is_all(&self) -> bool
Returns true
if all flags are currently set.
fn intersects(&self, other: WatchMask) -> bool
Returns true
if there are flags common to both self
and other
.
fn contains(&self, other: WatchMask) -> bool
Returns true
all of the flags in other
are contained within self
.
fn insert(&mut self, other: WatchMask)
Inserts the specified flags in-place.
fn remove(&mut self, other: WatchMask)
Removes the specified flags in-place.
fn toggle(&mut self, other: WatchMask)
Toggles the specified flags in-place.
fn set(&mut self, other: WatchMask, value: bool)
Inserts or removes the specified flags depending on the passed value.
Trait Implementations
impl Copy for WatchMask
impl PartialEq for WatchMask
fn eq(&self, __arg_0: &WatchMask) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &WatchMask) -> bool
This method tests for !=
.
impl Eq for WatchMask
impl Clone for WatchMask
fn clone(&self) -> WatchMask
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl PartialOrd for WatchMask
fn partial_cmp(&self, __arg_0: &WatchMask) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, __arg_0: &WatchMask) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, __arg_0: &WatchMask) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, __arg_0: &WatchMask) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, __arg_0: &WatchMask) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl Ord for WatchMask
fn cmp(&self, __arg_0: &WatchMask) -> Ordering
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self
1.22.0[src]
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.22.0[src]
Compares and returns the minimum of two values. Read more
impl Hash for WatchMask
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl Debug for WatchMask
impl Binary for WatchMask
impl Octal for WatchMask
impl LowerHex for WatchMask
impl UpperHex for WatchMask
impl BitOr for WatchMask
type Output = WatchMask
The resulting type after applying the |
operator.
fn bitor(self, other: WatchMask) -> WatchMask
Returns the union of the two sets of flags.
impl BitOrAssign for WatchMask
fn bitor_assign(&mut self, other: WatchMask)
Adds the set of flags.
impl BitXor for WatchMask
type Output = WatchMask
The resulting type after applying the ^
operator.
fn bitxor(self, other: WatchMask) -> WatchMask
Returns the left flags, but with all the right flags toggled.
impl BitXorAssign for WatchMask
fn bitxor_assign(&mut self, other: WatchMask)
Toggles the set of flags.
impl BitAnd for WatchMask
type Output = WatchMask
The resulting type after applying the &
operator.
fn bitand(self, other: WatchMask) -> WatchMask
Returns the intersection between the two sets of flags.
impl BitAndAssign for WatchMask
fn bitand_assign(&mut self, other: WatchMask)
Disables all flags disabled in the set.
impl Sub for WatchMask
type Output = WatchMask
The resulting type after applying the -
operator.
fn sub(self, other: WatchMask) -> WatchMask
Returns the set difference of the two sets of flags.
impl SubAssign for WatchMask
fn sub_assign(&mut self, other: WatchMask)
Disables all flags enabled in the set.
impl Not for WatchMask
type Output = WatchMask
The resulting type after applying the !
operator.
fn not(self) -> WatchMask
Returns the complement of this set of flags.
impl Extend<WatchMask> for WatchMask
fn extend<T: IntoIterator<Item = WatchMask>>(&mut self, iterator: T)
Extends a collection with the contents of an iterator. Read more
impl FromIterator<WatchMask> for WatchMask
fn from_iter<T: IntoIterator<Item = WatchMask>>(iterator: T) -> WatchMask
Creates a value from an iterator. Read more