IGLib  1.7.2
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
IG.Lib.WaitFileRemoval Class Reference

Blocking execution of the current thread until the specified file ceases to exist. More...

+ Inheritance diagram for IG.Lib.WaitFileRemoval:
+ Collaboration diagram for IG.Lib.WaitFileRemoval:

Public Member Functions

 WaitFileRemoval (string filePath)
 
override bool Condition ()
 Condition that unblocks Wait() when it becomes true. The condition is true if the observed file does not exist. More...
 
override void Wait ()
 Waits for condition to be fulfilled. More...
 
- Public Member Functions inherited from IG.Lib.WaitFileEvent
 WaitFileEvent (string fileOrDirectoryPath)
 
- Public Member Functions inherited from IG.Lib.WaitFileEventBase
void TriggerConditionCheck ()
 Triggers condition check by pulsing the object on which Wait() successively waits. More...
 
override void CancelOne ()
 Cancels the current waiting for the condition (if one is going on) and unblocks the thread on which waiting was called (possibly with some latency). More...
 
override void CancelAll ()
 Cancel the current waiting for the condition on all threads. More...
 
void WaitFirstEvent ()
 Blocks execution of the current thread until the first event is fired by the filesystem watcher. Enables raising events on the filesystem watcher, if not enabled. WARNING: This method is NOT thread safe. More...
 
virtual void WaitEvents (int numEvents)
 Blocks execution of the current thread until the specified number of file system events are registered by the filesystem watcher. If the specified number of events is less than 1 then blicking is done ndefinitely (or until CancelWaiting() is called on the object from another thread). Enables raising events on the filesystem watcher, if not enabled. WARNING: This method is NOT thread safe. More...
 
override string ToString ()
 

Protected Member Functions

override void InitWaitFileEventBase (string fileOrDirectoryPath)
 Performs class specific initialization. More...
 
- Protected Member Functions inherited from IG.Lib.WaitFileEventBase
 WaitFileEventBase (string fileOrDirectoryPath)
 
string EventToString (FileSystemEventArgs e)
 
virtual void OnDeleted (object source, FileSystemEventArgs e)
 Handles events triggered when a file or directory is deleted. More...
 
virtual void OnCreated (object source, FileSystemEventArgs e)
 Handles events triggered when a file or directory is created. More...
 
virtual void OnChanged (object source, FileSystemEventArgs e)
 Handles events triggered when a file or directory is changed. More...
 
virtual void OnRenamed (object source, RenamedEventArgs e)
 Handles events triggered when a file or directory is renamed. More...
 
void OnError (object source, ErrorEventArgs e)
 Handles events triggered when an error occurs. More...
 
bool ConditionInternal ()
 Wrapper around Condition() that enables control output to console. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from IG.Lib.WaitFileEventBase
static void ExampleWaitEvents (string fileOrDirectoryPath, int numEvents)
 Waits (blocks execution) until a given number of the specified file system events are registered. Basic information is printed for each event when it occurs. More...
 
static void ExampleBlockCreateRemove (string filePath)
 Monitors the specified file and successively blocks until it is created and then until it is removed. This procedure is repeated twice. More...
 
static void ExampleBlockCreateRemove (string filePath, int numSwitches)
 Monitors the specified file and successively blocks until it is created and then until it is removed. More...
 
static void ExampleBlockCreateRemove (string filePath, int numSwitches, bool waitDirectory)
 Monitors the specified file and successively blocks until it is created and then until it is removed. More...
 
static void TestSpeedBlockCreateRemove (string filePath)
 Test of speed of reaction of file/ directory creation and removal blocking waits. A specified number of alternate creations and removals are perfomed in a parallel thread, with specified delay between them. In the main thread, blocking waits are performed waiting for creation/removal in an infinite loop, and it is counted how many events are captured and how many are missed. More...
 
static void TestSpeedBlockCreateRemove (string filePath, int numSwitches, int sleepMs)
 Test of speed of reaction of file/ directory creation and removal blocking waits. A specified number of alternate creations and removals are perfomed in a parallel thread, with specified delay between them. In the main thread, blocking waits are performed waiting for creation/removal in an infinite loop, and it is counted how many events are captured and how many are missed. More...
 
static void TestSpeedBlockCreateRemove (string filePath, int numSwitches, int sleepMs, bool waitDirectory)
 Test of speed of reaction of file/ directory creation and removal blocking waits. A specified number of alternate creations and removals are perfomed in a parallel thread, with specified delay between them. In the main thread, blocking waits are performed waiting for creation/removal in an infinite loop, and it is counted how many events are captured and how many are missed. More...
 
- Public Attributes inherited from IG.Lib.WaitFileEventBase
const System.IO.NotifyFilters NotifyFiltersAll
 NotifyFilter enumeration that allows all kinds of events to be fired. More...
 
- Protected Attributes inherited from IG.Lib.WaitFileEventBase
bool _eventOccured = false
 
string _fileOrDirectoryPath
 File or directory name. More...
 
- Properties inherited from IG.Lib.WaitFileEventBase
bool PrintNotes [get, set]
 If true then various events and actions will be notified by console output (for testing purposes only!). More...
 
FileSystemWatcher EventWatcher [get]
 Component that responds to file system events. More...
 
virtual bool EventOccured [get, set]
 This flag is set by event handlers, and can be used by waiting procedures to check if the current event has been triggered by the EventWatcher installed on the other object (since registration of events of all other EventWatchers is done on the same thread). More...
 
static ThreadPulser Pulser [get]
 Object that is used for pulsing. More...
 
object TriggerLock [get]
 Locking object that is used for waiting trigging pulses that cause to check contition. Comes from Pulser. More...
 
virtual string Path [get, set]
 Get or set path of the file on which the particular event is waited for. More...
 
bool EnableRaisingEvents [get, set]
 If true, events are raised by file system watched, otherwise events are not raised. This flag can not be set when in the stage of waiting. Attpmpt of doing so has no effect (also does not throw an exception). More...
 
- Properties inherited from IG.Lib.WaitConditionBase
object Lock [get]
 This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock. More...
 
object InternalLock [get]
 Used internally for locking access to internal fields. More...
 
object WaitLock [get]
 Must be used only for locking waiting the Waiting() block (since it is potentially time consuming). More...
 
virtual bool IsWaiting [get, protected set]
 True if waiting for unblocking condition is currently performed, and false otherwise. Setting should only be done within the waiting function. More...
 
virtual bool CancelFlag [get, set]
 If this flag is set then the current waiting (if one is going on) will be cancelled. More...
 
- Properties inherited from IG.Lib.IWaitCondition
bool IsWaiting [get]
 Returns true if waiting for unblocking condition is currently performed, and false otherwise. Setting should only be done within the waiting function. More...
 
- Properties inherited from IG.Lib.ILockable
object Lock [get]
 
- Properties inherited from IG.Lib.IWaitFileEvent
string Path [get, set]
 Path of the file or directory on which the particular event is waited for. Can be specified as relative path, but is internally stored as fully qualified path. More...
 

Detailed Description

Blocking execution of the current thread until the specified file ceases to exist.

Constructor & Destructor Documentation

IG.Lib.WaitFileRemoval.WaitFileRemoval ( string  filePath)
inline

Member Function Documentation

override void IG.Lib.WaitFileRemoval.InitWaitFileEventBase ( string  fileOrDirectoryPath)
inlineprotectedvirtual

Performs class specific initialization.

Reimplemented from IG.Lib.WaitFileEventBase.

override bool IG.Lib.WaitFileRemoval.Condition ( )
inlinevirtual

Condition that unblocks Wait() when it becomes true. The condition is true if the observed file does not exist.

Returns

Reimplemented from IG.Lib.WaitFileEventBase.

override void IG.Lib.WaitFileRemoval.Wait ( )
inlinevirtual

Waits for condition to be fulfilled.

Reimplemented from IG.Lib.WaitFileEventBase.


The documentation for this class was generated from the following file: