FChange::Native::Flags

A module containing all the flags to be passed to {Notifier#watch}. @see msdn.microsoft.com/en-us/library/aa364417(v=VS.85).aspx

@private

Constants

FILE_NOTIFY_CHANGE_ALL_EVENTS
FILE_NOTIFY_CHANGE_ATTRIBUTES

Any attribute change in the watched directory or subtree causes a change notification wait operation to return.

FILE_NOTIFY_CHANGE_CREATION

Any change to the creation time of files in the watched directory or subtree causes a change notification wait operation to return.

FILE_NOTIFY_CHANGE_DIR_NAME

Any directory-name change in the watched directory or subtree causes a change notification wait operation to return. Changes include creating or deleting a directory.

FILE_NOTIFY_CHANGE_FILE_NAME

Any file name change in the watched directory or subtree causes a change notification wait operation to return. Changes include renaming, creating, or deleting a file name.

FILE_NOTIFY_CHANGE_LAST_ACCESS

Any change to the last access time of files in the watched directory or subtree causes a change notification wait operation to return.

FILE_NOTIFY_CHANGE_LAST_WRITE

Any change to the last write-time of files in the watched directory or subtree causes a change notification wait operation to return. The operating system detects a change to the last write-time only when the file is written to the disk. For operating systems that use extensive caching, detection occurs only when the cache is sufficiently flushed

FILE_NOTIFY_CHANGE_SECURITY

Any security-descriptor change in the watched directory or subtree causes a change notification wait operation to return.

FILE_NOTIFY_CHANGE_SIZE

Any file-size change in the watched directory or subtree causes a change notification wait operation to return. The operating system detects a change in file size only when the file is written to the disk. For operating systems that use extensive caching, detection occurs only when the cache is sufficiently flushed.

Public Class Methods

from_mask(mask) click to toggle source

Converts a bitmask from the C API into a list of flags.

@param mask [Fixnum] @return [Array<Symbol>]

# File lib/vendor/windows/lib/rb-fchange/native/flags.rb, line 69
def self.from_mask(mask)
  constants.map {|c| c.to_s}.select do |c|
    next false unless c =~ /^FILE_NOTIFY_CHANGE_/
    const_get(c) & mask != 0
  end.map {|c| c.sub("FILE_NOTIFY_CHANGE_", "").downcase.to_sym} - [:all_events]
end
to_mask(flags) click to toggle source

Converts a list of flags to the bitmask that the C API expects.

@param flags [Array<Symbol>] @return [Fixnum]

# File lib/vendor/windows/lib/rb-fchange/native/flags.rb, line 60
def self.to_mask(flags)
  flags.map {|flag| const_get("FILE_NOTIFY_CHANGE_#{flag.to_s.upcase}")}.
    inject(0) {|mask, flag| mask | flag}
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.