Componentes.Terceros.RemObj.../internal/6.0.43.801/1/RemObjects Samples/RemObjects SDK for Delphi/Extended File Transfer/ExtendedFileTransferLibrary_Invk.pas

103 lines
3.7 KiB
ObjectPascal
Raw Permalink Normal View History

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.