{$ifdef FPC}{$mode objfpc}{$h+}{$interfaces corba}{$endif}
[...]
inullinterface = interface
//no referencecount, only for fpc, not available in delphi
end;
[...]
iobjectlink = interface(inullinterface)
procedure link(const source,dest: iobjectlink; valuepo: pointer = nil;
ainterfacetype: pointer = nil; once: boolean = false);
procedure unlink(const source,dest: iobjectlink; valuepo: pointer = nil);
//source = 1 -> dest destroyed
procedure objevent(const sender: iobjectlink; const event: objecteventty);
function getinstance: tobject;
end;
[...]
iificlient = interface(iobjectlink)[miid_iificlient]
procedure setifiserverintf(const aintf: iifiserver);
function getdefaultifilink: iificlient;
end;
[...]
iifilink = interface(iificlient)[miid_iifilink]
function getifilinkkind: ptypeinfo;
function getobjectlinker: tobjectlinker;
end;
iifiexeclink = interface(iifilink)[miid_iifiexeclink]
procedure execute(const force: boolean = false);
end;
iififormlink = interface(iifilink)[miid_iififormlink]
end;
iifidialoglink = interface(iifilink)[miid_iifidialoglink]
function showdialog(out adialog: tactcomponent): modalresultty;
end;
iifidatalink = interface(iifilink)[miid_iifidatalink]
procedure updateifigriddata(const sender: tobject; const alist: tdatalist);
function getgriddata: tdatalist;
function getvalueprop: ppropinfo;
procedure updatereadonlystate;
end;
iifigridlink = interface(iifilink)[miid_iifigridlink]
function appendrow(const checkautoappend: boolean = false): integer;
function getrowstate: tcustomrowstatelist;
procedure rowchanged(const arow: integer);
procedure rowstatechanged(const arow: integer);
procedure layoutchanged;
function canclose1: boolean;
end;