Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
Monitors a file or directory for changes.
To obtain a FileMonitor
for a file or directory, use
fileMonitor
, fileMonitorFile
, or
fileMonitorDirectory
.
To get informed about changes to the file or directory you are
monitoring, connect to the FileMonitor
::changed
signal. The
signal will be emitted in the
[thread-default main context][g-main-context-push-thread-default]
of the thread that the monitor was created in
(though if the global default main context is blocked, this may
cause notifications to be blocked even if the thread-default
context is still running).
- newtype FileMonitor = FileMonitor (ManagedPtr FileMonitor)
- class GObject o => IsFileMonitor o
- toFileMonitor :: IsFileMonitor o => o -> IO FileMonitor
- noFileMonitor :: Maybe FileMonitor
- data FileMonitorCancelMethodInfo
- fileMonitorCancel :: (HasCallStack, MonadIO m, IsFileMonitor a) => a -> m Bool
- data FileMonitorEmitEventMethodInfo
- fileMonitorEmitEvent :: (HasCallStack, MonadIO m, IsFileMonitor a, IsFile b, IsFile c) => a -> b -> c -> FileMonitorEvent -> m ()
- data FileMonitorIsCancelledMethodInfo
- fileMonitorIsCancelled :: (HasCallStack, MonadIO m, IsFileMonitor a) => a -> m Bool
- data FileMonitorSetRateLimitMethodInfo
- fileMonitorSetRateLimit :: (HasCallStack, MonadIO m, IsFileMonitor a) => a -> Int32 -> m ()
- data FileMonitorCancelledPropertyInfo
- fileMonitorCancelled :: AttrLabelProxy "cancelled"
- getFileMonitorCancelled :: (MonadIO m, IsFileMonitor o) => o -> m Bool
- data FileMonitorRateLimitPropertyInfo
- constructFileMonitorRateLimit :: IsFileMonitor o => Int32 -> IO (GValueConstruct o)
- fileMonitorRateLimit :: AttrLabelProxy "rateLimit"
- getFileMonitorRateLimit :: (MonadIO m, IsFileMonitor o) => o -> m Int32
- setFileMonitorRateLimit :: (MonadIO m, IsFileMonitor o) => o -> Int32 -> m ()
- type C_FileMonitorChangedCallback = Ptr () -> Ptr File -> Ptr File -> CUInt -> Ptr () -> IO ()
- type FileMonitorChangedCallback = File -> Maybe File -> FileMonitorEvent -> IO ()
- data FileMonitorChangedSignalInfo
- afterFileMonitorChanged :: (GObject a, MonadIO m) => a -> FileMonitorChangedCallback -> m SignalHandlerId
- genClosure_FileMonitorChanged :: FileMonitorChangedCallback -> IO Closure
- mk_FileMonitorChangedCallback :: C_FileMonitorChangedCallback -> IO (FunPtr C_FileMonitorChangedCallback)
- noFileMonitorChangedCallback :: Maybe FileMonitorChangedCallback
- onFileMonitorChanged :: (GObject a, MonadIO m) => a -> FileMonitorChangedCallback -> m SignalHandlerId
- wrap_FileMonitorChangedCallback :: FileMonitorChangedCallback -> Ptr () -> Ptr File -> Ptr File -> CUInt -> Ptr () -> IO ()
Exported types
newtype FileMonitor Source #
GObject FileMonitor Source # | |
IsObject FileMonitor Source # | |
IsFileMonitor FileMonitor Source # | |
((~) * info (ResolveFileMonitorMethod t FileMonitor), MethodInfo * info FileMonitor p) => IsLabel t (FileMonitor -> p) Source # | |
((~) * info (ResolveFileMonitorMethod t FileMonitor), MethodInfo * info FileMonitor p) => IsLabelProxy t (FileMonitor -> p) Source # | |
HasAttributeList * FileMonitor Source # | |
type AttributeList FileMonitor Source # | |
type SignalList FileMonitor Source # | |
class GObject o => IsFileMonitor o Source #
toFileMonitor :: IsFileMonitor o => o -> IO FileMonitor Source #
Methods
cancel
data FileMonitorCancelMethodInfo Source #
((~) * signature (m Bool), MonadIO m, IsFileMonitor a) => MethodInfo * FileMonitorCancelMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsFileMonitor a) | |
=> a |
|
-> m Bool | Returns: always |
Cancels a file monitor.
emitEvent
data FileMonitorEmitEventMethodInfo Source #
((~) * signature (b -> c -> FileMonitorEvent -> m ()), MonadIO m, IsFileMonitor a, IsFile b, IsFile c) => MethodInfo * FileMonitorEmitEventMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsFileMonitor a, IsFile b, IsFile c) | |
=> a |
|
-> b |
|
-> c |
|
-> FileMonitorEvent |
|
-> m () |
Emits the FileMonitor
::changed
signal if a change
has taken place. Should be called from file monitor
implementations only.
Implementations are responsible to call this method from the [thread-default main context][g-main-context-push-thread-default] of the thread that the monitor was created in.
isCancelled
data FileMonitorIsCancelledMethodInfo Source #
((~) * signature (m Bool), MonadIO m, IsFileMonitor a) => MethodInfo * FileMonitorIsCancelledMethodInfo a signature Source # | |
fileMonitorIsCancelled Source #
:: (HasCallStack, MonadIO m, IsFileMonitor a) | |
=> a |
|
-> m Bool |
Returns whether the monitor is canceled.
setRateLimit
data FileMonitorSetRateLimitMethodInfo Source #
((~) * signature (Int32 -> m ()), MonadIO m, IsFileMonitor a) => MethodInfo * FileMonitorSetRateLimitMethodInfo a signature Source # | |
fileMonitorSetRateLimit Source #
:: (HasCallStack, MonadIO m, IsFileMonitor a) | |
=> a |
|
-> Int32 |
|
-> m () |
Sets the rate limit to which the monitor
will report
consecutive change events to the same file.
Properties
cancelled
data FileMonitorCancelledPropertyInfo Source #
fileMonitorCancelled :: AttrLabelProxy "cancelled" Source #
getFileMonitorCancelled :: (MonadIO m, IsFileMonitor o) => o -> m Bool Source #
rateLimit
data FileMonitorRateLimitPropertyInfo Source #
constructFileMonitorRateLimit :: IsFileMonitor o => Int32 -> IO (GValueConstruct o) Source #
fileMonitorRateLimit :: AttrLabelProxy "rateLimit" Source #
getFileMonitorRateLimit :: (MonadIO m, IsFileMonitor o) => o -> m Int32 Source #
setFileMonitorRateLimit :: (MonadIO m, IsFileMonitor o) => o -> Int32 -> m () Source #
Signals
changed
type C_FileMonitorChangedCallback = Ptr () -> Ptr File -> Ptr File -> CUInt -> Ptr () -> IO () Source #
type FileMonitorChangedCallback = File -> Maybe File -> FileMonitorEvent -> IO () Source #
afterFileMonitorChanged :: (GObject a, MonadIO m) => a -> FileMonitorChangedCallback -> m SignalHandlerId Source #
mk_FileMonitorChangedCallback :: C_FileMonitorChangedCallback -> IO (FunPtr C_FileMonitorChangedCallback) Source #
onFileMonitorChanged :: (GObject a, MonadIO m) => a -> FileMonitorChangedCallback -> m SignalHandlerId Source #