mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
61 lines
1.4 KiB
ObjectPascal
61 lines
1.4 KiB
ObjectPascal
unit DsxPlugin;
|
|
|
|
interface
|
|
|
|
uses Sysutils;
|
|
|
|
type
|
|
|
|
TSearchAttrRecord=record
|
|
rFileMask : Pchar;
|
|
rAttributes: Cardinal;
|
|
rAttribStr : Pchar;
|
|
rCaseSens:Boolean;
|
|
{Date search}
|
|
rIsDateFrom,
|
|
rIsDateTo : Boolean;
|
|
rDateTimeFrom,
|
|
rDateTimeTo : TDateTime;
|
|
{Time search}
|
|
rIsTimeFrom,
|
|
rIsTimeTo : Boolean;
|
|
(* File size search *)
|
|
rIsFileSizeFrom,
|
|
rIsFileSizeTo : Boolean;
|
|
rFileSizeFrom,
|
|
rFileSizeTo : Int64;
|
|
(* Find text *)
|
|
rIsNoThisText,
|
|
rFindInFiles:Boolean;
|
|
rFindData:Pchar;
|
|
(* Replace text *)
|
|
rReplaceInFiles : Boolean;
|
|
rReplaceData : Pchar;
|
|
end;
|
|
|
|
|
|
tDSXDefaultParamStruct=record
|
|
size,
|
|
PluginInterfaceVersionLow,
|
|
PluginInterfaceVersionHi:longint;
|
|
DefaultIniName:array[0..MAX_PATH-1] of char;
|
|
end;
|
|
pDSXDefaultParamStruct=^tDSXDefaultParamStruct;
|
|
|
|
{Prototypes}
|
|
{Callbacks procs}
|
|
TSAddFileProc=procedure (PlugNr:integer; FoundFile:pchar); stdcall; //if FoundFile='' then searching is finished
|
|
|
|
TSUpdateStatusProc=procedure (PlugNr:integer; CurrentFile:pchar; FilesScaned:integer); stdcall;
|
|
|
|
{Mandatory (must be implemented)}
|
|
{
|
|
function Init(dps:pDSXDefaultParamStruct; pAddFileProc:TSAddFileProc; pUpdateStatus:TSUpdateStatusProc):integer; stdcall;
|
|
procedure StartSearch(FPluginNr:integer; StartPath:pchar; SearchAttrRec:TSearchAttrRecord); stdcall;
|
|
procedure StopSearch(FPluginNr:integer); stdcall;
|
|
procedure Finalize(FPluginNr:integer); stdcall;
|
|
}
|
|
|
|
implementation
|
|
|
|
end.
|