start page | rating of books | rating of authors | reviews | copyrights

Book HomeJava and XSLTSearch this book

22.3. Win32::ChangeNotify

This module provides access to Win32 change-notification objects, letting you monitor events relating to files and directory trees. The constructor for this class is new, which creates a ChangeNotify object for a specified path and indicates how it should be monitored:

$ntfy = Win32::ChangeNotify->new(path, subtree, events);
$ntfy->wait or warn "Something has failed: $!");

The function returns a reference to the object as $ntfy. path is the pathname of the directory to monitor. subtree is a Boolean value that, if true, forces the object to monitor all subdirectories of the object's path. The eventsparameter indicates the type of events that will trigger a notification. It can be one of the following string values:

Value

Description

ATTRIBUTES

Any attribute change

DIR_NAME

Any directory name change

FILE_NAME

Any filename change (creating/deleting/renaming)

LAST_WRITE

Any change to a file's last write time

SECURITY

Any security descriptor change

SIZE

Any change in a file's size

The following methods are used on notification objects created by new.

close

$ntfy->close(  )

Stops the monitoring done by the notification object and destroys the object. This happens automatically when the program exits.

reset

$ntfy->reset(  )

Resets the object to begin monitoring again after a change has occurred.

wait

$ntfy->wait([timeout])

The wait method is inherited from the Win32::IPC package. It waits for the notification object to signal when it detects a change. timeout is the maximum time to wait (in milliseconds). If timeout is omitted, the method waits forever. If timeout is 0, the function returns immediately. The function returns the following values:

+1
The object is signaled.

0
Timed out.

undef
An error occurred.

Use reset on the object after wait if you wish to continue monitoring.



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.