1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
unit DsxPlugin;
{$include calling.inc}
interface
uses
SysUtils;
type
PDsxSearchRecord = ^TDsxSearchRecord;
TDsxSearchRecord = record
StartPath: array[0..1023] of AnsiChar;
FileMask: array[0..1023] of AnsiChar;
Attributes: Cardinal;
AttribStr: array[0..127] of AnsiChar;
CaseSensitive: Boolean;
{ Date/time search }
IsDateFrom,
IsDateTo,
IsTimeFrom,
IsTimeTo: Boolean;
DateTimeFrom,
DateTimeTo: TDateTime;
{ File size search }
IsFileSizeFrom,
IsFileSizeTo: Boolean;
FileSizeFrom,
FileSizeTo: Int64;
{ Find/replace text }
IsFindText: Boolean;
FindText: array[0..1023] of AnsiChar;
IsReplaceText: Boolean;
ReplaceText: array[0..1023] of AnsiChar;
NotContainingText: Boolean;
end;
TDsxDefaultParamStruct = record
Size,
PluginInterfaceVersionLow,
PluginInterfaceVersionHi: Longint;
DefaultIniName: array[0..MAX_PATH - 1] of Char;
end;
PDsxDefaultParamStruct = ^TDsxDefaultParamStruct;
{ For compatibility with Delphi use $IFDEF's to set calling convention }
{Prototypes}
{Callbacks procs}
TSAddFileProc = procedure(PluginNr: Integer; FoundFile: PChar); dcpcall;
//if FoundFile='' then searching is finished
TSUpdateStatusProc = procedure(PluginNr: Integer; CurrentFile: PChar;
FilesScaned: Integer); dcpcall;
{Mandatory (must be implemented)}
TSInit = function(dps: PDsxDefaultParamStruct; pAddFileProc: TSAddFileProc;
pUpdateStatus: TSUpdateStatusProc): Integer; dcpcall;
TSStartSearch = procedure(PluginNr: Integer; pSearchRec: PDsxSearchRecord); dcpcall;
TSStopSearch = procedure(PluginNr: Integer); dcpcall;
TSFinalize = procedure(PluginNr: Integer); dcpcall;
implementation
end.
|