mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
UPD: File system watcher notify event callback
This commit is contained in:
parent
85abfc0b90
commit
d87196cbb4
2 changed files with 7 additions and 6 deletions
|
|
@ -393,7 +393,7 @@ type
|
|||
Shift: TShiftState);
|
||||
procedure edtCommandExit(Sender: TObject);
|
||||
procedure tbEditClick(Sender: TObject);
|
||||
procedure FramePanelOnWatcherNotifyEvent(Sender: TObject; NotifyEvent: TWatchFilter);
|
||||
procedure FramePanelOnWatcherNotifyEvent(Sender: TObject; NotifyData: PtrInt);
|
||||
procedure tmHALTimer(Sender: TObject);
|
||||
private
|
||||
{ Private declarations }
|
||||
|
|
@ -3207,7 +3207,7 @@ begin
|
|||
ShowConfigToolbar(pmToolBar.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMain.FramePanelOnWatcherNotifyEvent(Sender: TObject; NotifyEvent: TWatchFilter);
|
||||
procedure TfrmMain.FramePanelOnWatcherNotifyEvent(Sender: TObject; NotifyData: PtrInt);
|
||||
var
|
||||
sDrive,
|
||||
sWatchDirsExclude: String;
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ uses
|
|||
type
|
||||
TWatchFilter = set of (wfFileNameChange, wfAttributesChange);
|
||||
|
||||
TOnWatcherNotifyEvent = procedure(Sender: TObject; NotifyEvent: TWatchFilter) of object;
|
||||
TOnWatcherNotifyEvent = procedure(Sender: TObject; NotifyData: PtrInt) of object;
|
||||
|
||||
{ TWatcherThread }
|
||||
|
||||
|
|
@ -47,8 +47,8 @@ type
|
|||
FFileHandle,
|
||||
FNotifyHandle: THandle;
|
||||
FWatchPath: UTF8String;
|
||||
FWatchFilter,
|
||||
FNotifyEvent: TWatchFilter;
|
||||
FWatchFilter: TWatchFilter;
|
||||
FNotifyData: PtrInt;
|
||||
protected
|
||||
procedure Execute; override;
|
||||
procedure WatcherThreadError(const sErrMsg: String);
|
||||
|
|
@ -185,6 +185,7 @@ begin
|
|||
begin
|
||||
ev:= pinotify_event((buf + p));
|
||||
WriteLn('wd = ',ev^.wd,', mask = ',ev^.mask,', cookie = ',ev^.cookie, ' name = ', PChar(@ev^.name));
|
||||
FNotifyData:= PtrInt(ev);
|
||||
// call event handler
|
||||
Synchronize(@WatcherNotifyEvent);
|
||||
p:= p + ev^.len + 16;
|
||||
|
|
@ -210,7 +211,7 @@ end;
|
|||
procedure TWatcherThread.WatcherNotifyEvent;
|
||||
begin
|
||||
if Assigned(FOnWatcherNotifyEvent) then
|
||||
FOnWatcherNotifyEvent(FOwner, FNotifyEvent);
|
||||
FOnWatcherNotifyEvent(FOwner, FNotifyData);
|
||||
end;
|
||||
|
||||
destructor TWatcherThread.Destroy;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue