33 lines
753 B
ObjectPascal
33 lines
753 B
ObjectPascal
unit Project31LongWorkCallbackInterface;
|
|
|
|
interface
|
|
|
|
uses
|
|
SysUtils,
|
|
SynCommons,
|
|
mORMot;
|
|
|
|
type
|
|
ILongWorkCallback = interface(IInvokable)
|
|
['{425BF199-19C7-4B2B-B1A4-A5BE7A9A4748}']
|
|
procedure WorkFinished(const workName: string; timeTaken: integer);
|
|
procedure WorkFailed(const workName, error: string);
|
|
end;
|
|
|
|
ILongWorkService = interface(IInvokable)
|
|
['{09FDFCEF-86E5-4077-80D8-661801A9224A}']
|
|
procedure StartWork(const workName: string; const onFinish: ILongWorkCallback);
|
|
function TotalWorkCount: Integer;
|
|
end;
|
|
|
|
const
|
|
PROJECT31_TRANSMISSION_KEY = 'longwork_privatekey';
|
|
|
|
|
|
implementation
|
|
|
|
initialization
|
|
TInterfaceFactory.RegisterInterfaces([
|
|
TypeInfo(ILongWorkService),TypeInfo(ILongWorkCallback)]);
|
|
end.
|