unit ExtendedFileTransferLibrary_Invk; {----------------------------------------------------------------------------} { This unit was automatically generated by the RemObjects SDK after reading } { the RODL file associated with this project . } { } { Do not modify this unit manually, or your changes will be lost when this } { unit is regenerated the next time you compile the project. } {----------------------------------------------------------------------------} {$I RemObjects.inc} interface uses {vcl:} Classes, {RemObjects:} uROXMLIntf, uROServer, uROServerIntf, uROTypes, uROClientIntf, {Generated:} ExtendedFileTransferLibrary_Intf; type TExtendedFileTransferService_Invoker = class(TROInvoker) private protected public constructor Create; override; published procedure Invoke_GetFilesList(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_DownloadFilePart(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; implementation uses {RemObjects:} uRORes, uROClient; { TExtendedFileTransferService_Invoker } constructor TExtendedFileTransferService_Invoker.Create; begin inherited Create; FAbstract := False; end; procedure TExtendedFileTransferService_Invoker.Invoke_GetFilesList(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function GetFilesList: FileInfoArray; } var lResult: ExtendedFileTransferLibrary_Intf.FileInfoArray; __lObjectDisposer: TROObjectDisposer; begin lResult := nil; try lResult := (__Instance as IExtendedFileTransferService).GetFilesList; __Message.InitializeResponseMessage(__Transport, 'ExtendedFileTransferLibrary', 'ExtendedFileTransferService', 'GetFilesListResponse'); __Message.Write('Result', TypeInfo(ExtendedFileTransferLibrary_Intf.FileInfoArray), lResult, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try __lObjectDisposer.Add(lResult); finally __lObjectDisposer.Free(); end; end; end; procedure TExtendedFileTransferService_Invoker.Invoke_DownloadFilePart(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); { function DownloadFilePart(const FileName: AnsiString; const PartNo: Integer; const PartSize: Integer): Binary; } var FileName: AnsiString; PartNo: Integer; PartSize: Integer; lResult: Binary; __lObjectDisposer: TROObjectDisposer; begin lResult := nil; try __Message.Read('FileName', TypeInfo(AnsiString), FileName, []); __Message.Read('PartNo', TypeInfo(Integer), PartNo, []); __Message.Read('PartSize', TypeInfo(Integer), PartSize, []); lResult := (__Instance as IExtendedFileTransferService).DownloadFilePart(FileName, PartNo, PartSize); __Message.InitializeResponseMessage(__Transport, 'ExtendedFileTransferLibrary', 'ExtendedFileTransferService', 'DownloadFilePartResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Finalize; __Message.UnsetAttributes(__Transport); finally __lObjectDisposer := TROObjectDisposer.Create(__Instance); try __lObjectDisposer.Add(lResult); finally __lObjectDisposer.Free(); end; end; end; initialization end.