doublecmd/sdk/wdxplugin.pas
2009-10-23 18:27:10 +00:00

107 lines
3.6 KiB
ObjectPascal

unit WdxPlugin; { Content plugins }
interface
uses SysUtils;
const ft_nomorefields=0;
ft_numeric_32=1;
ft_numeric_64=2;
ft_numeric_floating=3;
ft_date=4;
ft_time=5;
ft_boolean=6;
ft_multiplechoice=7;
ft_string=8;
ft_fulltext=9;
ft_datetime=10;
ft_stringw=11;
// for ContentGetValue
ft_nosuchfield=-1;
ft_fileerror=-2;
ft_fieldempty=-3;
ft_ondemand=-4;
ft_notsupported=-5;
ft_setcancel=-6;
ft_delayed=0;
// for ContentSetValue
ft_setsuccess=0; // setting of the attribute succeeded
// for ContentGetSupportedFieldFlags
contflags_edit=1;
contflags_substsize=2;
contflags_substdatetime=4;
contflags_substdate=6;
contflags_substtime=8;
contflags_substattributes=10;
contflags_substattributestr=12;
contflags_passthrough_size_float=14;
contflags_substmask=14;
contflags_fieldedit=16;
// for ContentSendStateInformation
contst_readnewdir=1;
contst_refreshpressed=2;
contst_showhint=4;
setflags_first_attribute=1; // First attribute of this file
setflags_last_attribute=2; // Last attribute of this file
setflags_only_date=4; // Only set the date of the datetime value!
CONTENT_DELAYIFSLOW=1; // ContentGetValue called in foreground
CONTENT_PASSTHROUGH=2; // If requested via contflags_passthrough_size_float: The size
// is passed in as floating value, TC expects correct value
// from the given units value, and optionally a text string
type tContentDefaultParamStruct=record
size,
PluginInterfaceVersionLow,
PluginInterfaceVersionHi:longint;
DefaultIniName:array[0..MAX_PATH-1] of char;
end;
pContentDefaultParamStruct=^tContentDefaultParamStruct;
type tdateformat=record
wYear,wMonth,wDay:word;
end;
pdateformat=^tdateformat;
type ttimeformat=record
wHour,wMinute,wSecond:word;
end;
ptimeformat=^ttimeformat;
{ Function prototypes: }
{
procedure ContentGetDetectString(DetectString:pchar;maxlen:integer); stdcall;
function ContentGetSupportedField(FieldIndex:integer;FieldName:pchar;
Units:pchar;maxlen:integer):integer; stdcall;
function ContentGetValue(FileName:pchar;FieldIndex,UnitIndex:integer;
FieldValue:pbyte; maxlen,flags:integer):integer; stdcall;
function ContentGetValueW(FileName:pwidechar;FieldIndex,UnitIndex:integer;
FieldValue:pbyte; maxlen,flags:integer):integer; stdcall;
procedure ContentSetDefaultParams(dps:pContentDefaultParamStruct); stdcall;
procedure ContentPluginUnloading; stdcall;
procedure ContentStopGetValue(FileName:pchar); stdcall;
procedure ContentStopGetValueW(FileName:pwidechar); stdcall;
function ContentGetDefaultSortOrder(FieldIndex:integer):integer; stdcall;
function ContentGetSupportedFieldFlags(FieldIndex:integer):integer; stdcall;
function ContentSetValue(FileName:pchar;FieldIndex,UnitIndex,FieldType:integer;
FieldValue:pbyte;flags:integer):integer; stdcall;
function ContentSetValueW(FileName:pwidechar;FieldIndex,UnitIndex,FieldType:integer;
FieldValue:pbyte;flags:integer):integer; stdcall;
procedure ContentSendStateInformation(state:integer;path:pchar); stdcall;
procedure ContentSendStateInformationW(state:integer;path:pwidechar); stdcall;
function ContentEditValue(handle:thandle;FieldIndex,UnitIndex,FieldType:integer;
FieldValue:pchar;maxlen:integer;flags:integer;langidentifier:pchar):integer; stdcall;
}
implementation
end.