Componentes.Terceros.RemObj.../internal/5.0.35.741/1/RemObjects SDK for Delphi/Samples/Message Envelopes/MessageEnvelopesLibrary_Intf.pas

97 lines
2.9 KiB
ObjectPascal
Raw Normal View History

unit MessageEnvelopesLibrary_Intf;
{----------------------------------------------------------------------------}
{ 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, TypInfo,
{RemObjects:} uROXMLIntf, uROClasses, uROClient, uROTypes, uROClientIntf;
const
{ Library ID }
LibraryUID = '{9FBE9FFC-D17D-4D9C-840E-949F7EEB9FC2}';
TargetNamespace = '';
{ Service Interface ID's }
IMessageEnvelopesService_IID : TGUID = '{D20EC6CD-45A8-4C62-8114-EE02C3FDF979}';
{ Event ID's }
type
{ Forward declarations }
IMessageEnvelopesService = interface;
{ IMessageEnvelopesService }
IMessageEnvelopesService = interface
['{D20EC6CD-45A8-4C62-8114-EE02C3FDF979}']
function Echo(const AStr: AnsiString): AnsiString;
end;
{ CoMessageEnvelopesService }
CoMessageEnvelopesService = class
class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IMessageEnvelopesService;
end;
{ TMessageEnvelopesService_Proxy }
TMessageEnvelopesService_Proxy = class(TROProxy, IMessageEnvelopesService)
protected
function __GetInterfaceName:string; override;
function Echo(const AStr: AnsiString): AnsiString;
end;
implementation
uses
{vcl:} SysUtils,
{RemObjects:} uROEventRepository, uROSerializer, uRORes;
{ CoMessageEnvelopesService }
class function CoMessageEnvelopesService.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IMessageEnvelopesService;
begin
result := TMessageEnvelopesService_Proxy.Create(aMessage, aTransportChannel);
end;
{ TMessageEnvelopesService_Proxy }
function TMessageEnvelopesService_Proxy.__GetInterfaceName:string;
begin
result := 'MessageEnvelopesService';
end;
function TMessageEnvelopesService_Proxy.Echo(const AStr: AnsiString): AnsiString;
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'MessageEnvelopesLibrary', __InterfaceName, 'Echo');
__Message.Write('AStr', TypeInfo(AnsiString), AStr, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(AnsiString), result, []);
finally
__Message.UnsetAttributes(__TransportChannel);
__Message.FreeStream;
end
end;
initialization
RegisterProxyClass(IMessageEnvelopesService_IID, TMessageEnvelopesService_Proxy);
finalization
UnregisterProxyClass(IMessageEnvelopesService_IID);
end.