unit TimeServer_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. } {----------------------------------------------------------------------------} interface uses {vcl:} Classes, TypInfo, {RemObjects:} uROClasses, uROClient, uROTypes, uROClientIntf; const { Library ID } LibraryUID = '{CD4F46E5-B0FA-4AF9-9B7E-6E01FE096885}'; { Service Interface ID's } ITimeServer_IID : TGUID = '{CD4F46E5-B0FA-4AF9-9B7E-6E01FE096885}'; { Event ID's } type { Forward declarations } ITimeServer = interface; { ITimeServer } ITimeServer = interface ['{CD4F46E5-B0FA-4AF9-9B7E-6E01FE096885}'] function Sum(const A: Integer; const B: Integer): Integer; function GetServerTime: DateTime; end; { CoTimeServer } CoTimeServer = class class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): ITimeServer; end; { TTimeServer_Proxy } TTimeServer_Proxy = class(TROProxy, ITimeServer) protected function __GetInterfaceName:string; override; function Sum(const A: Integer; const B: Integer): Integer; function GetServerTime: DateTime; end; implementation uses {vcl:} SysUtils, {RemObjects:} uROEventRepository, uRORes; { CoTimeServer } class function CoTimeServer.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): ITimeServer; begin result := TTimeServer_Proxy.Create(aMessage, aTransportChannel); end; { TTimeServer_Proxy } function TTimeServer_Proxy.__GetInterfaceName:string; begin result := 'TimeServer'; end; function TTimeServer_Proxy.Sum(const A: Integer; const B: Integer): Integer; begin try __Message.InitializeRequestMessage(__TransportChannel, 'TimeServer', __InterfaceName, 'Sum'); __Message.Write('A', TypeInfo(Integer), A, []); __Message.Write('B', TypeInfo(Integer), B, []); __Message.Finalize; __TransportChannel.Dispatch(__Message); __Message.Read('Result', TypeInfo(Integer), result, []); finally __Message.FreeStream; end end; function TTimeServer_Proxy.GetServerTime: DateTime; begin try __Message.InitializeRequestMessage(__TransportChannel, 'TimeServer', __InterfaceName, 'GetServerTime'); __Message.Finalize; __TransportChannel.Dispatch(__Message); __Message.Read('Result', TypeInfo(DateTime), result, [paIsDateTime]); finally __Message.FreeStream; end end; initialization RegisterProxyClass(ITimeServer_IID, TTimeServer_Proxy); finalization UnregisterProxyClass(ITimeServer_IID); end.