
+ Better Delphi support : client & server( new ) - SOAP, XMLRPC and BINARY formats git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@212 8e941d3f-bd1b-0410-a28a-d453659cc2b4
95 lines
2.3 KiB
ObjectPascal
95 lines
2.3 KiB
ObjectPascal
{
|
|
This unit has been produced by ws_helper.
|
|
Input unit name : "metadata_service".
|
|
This unit name : "metadata_service_proxy".
|
|
Date : "12/11/2006 11:12".
|
|
}
|
|
{$INCLUDE wst_global.inc}
|
|
Unit metadata_service_proxy;
|
|
|
|
Interface
|
|
|
|
Uses SysUtils, Classes, TypInfo, base_service_intf, service_intf, metadata_service;
|
|
|
|
{$INCLUDE wst.inc}
|
|
{$INCLUDE wst_delphi.inc}
|
|
|
|
Type
|
|
|
|
|
|
TWSTMetadataService_Proxy=class(TBaseProxy,IWSTMetadataService)
|
|
Protected
|
|
class function GetServiceType() : PTypeInfo;override;
|
|
function GetRepositoryList():TArrayOfStringRemotable;
|
|
function GetRepositoryInfo(
|
|
Const AName : string
|
|
):TWSTMtdRepository;
|
|
End;
|
|
|
|
Implementation
|
|
uses wst_resources_imp, metadata_repository;
|
|
|
|
{ TWSTMetadataService_Proxy implementation }
|
|
|
|
class function TWSTMetadataService_Proxy.GetServiceType() : PTypeInfo;
|
|
begin
|
|
result := TypeInfo(IWSTMetadataService);
|
|
end;
|
|
|
|
function TWSTMetadataService_Proxy.GetRepositoryList():TArrayOfStringRemotable;
|
|
Var
|
|
locSerializer : IFormatterClient;
|
|
strPrmName : string;
|
|
Begin
|
|
locSerializer := GetSerializer();
|
|
Try
|
|
locSerializer.BeginCall('GetRepositoryList', GetTarget(),(Self as ICallContext));
|
|
locSerializer.EndCall();
|
|
|
|
MakeCall();
|
|
|
|
locSerializer.BeginCallRead((Self as ICallContext));
|
|
If ( PTypeInfo(TypeInfo(TArrayOfStringRemotable))^.Kind in [tkClass,tkInterface] ) Then
|
|
Pointer(Result) := Nil;
|
|
strPrmName := 'return';
|
|
locSerializer.Get(TypeInfo(TArrayOfStringRemotable), strPrmName, result);
|
|
|
|
Finally
|
|
locSerializer.Clear();
|
|
End;
|
|
End;
|
|
|
|
function TWSTMetadataService_Proxy.GetRepositoryInfo(
|
|
Const AName : string
|
|
):TWSTMtdRepository;
|
|
Var
|
|
locSerializer : IFormatterClient;
|
|
strPrmName : string;
|
|
Begin
|
|
locSerializer := GetSerializer();
|
|
Try
|
|
locSerializer.BeginCall('GetRepositoryInfo', GetTarget(),(Self as ICallContext));
|
|
locSerializer.Put('AName', TypeInfo(string), AName);
|
|
locSerializer.EndCall();
|
|
|
|
MakeCall();
|
|
|
|
locSerializer.BeginCallRead((Self as ICallContext));
|
|
Pointer(Result) := Nil;
|
|
strPrmName := 'return';
|
|
locSerializer.Get(TypeInfo(TWSTMtdRepository), strPrmName, result);
|
|
|
|
Finally
|
|
locSerializer.Clear();
|
|
End;
|
|
End;
|
|
|
|
|
|
initialization
|
|
{$i metadata_service.wst}
|
|
|
|
{$IF DECLARED(Register_metadata_service_ServiceMetadata)}
|
|
Register_metadata_service_ServiceMetadata();
|
|
{$ENDIF}
|
|
End.
|