unit uRODiscovery_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:} uROClient, uROTypes, uROClientIntf; const LibraryUID = '{943975A3-664A-4F07-AD0F-7357744276BF}'; IRODiscoveryService_IID : TGUID = '{D0F69433-544B-4003-946F-AD35046169B0}'; type { Forward declarations } IRODiscoveryService = interface; TRODiscoveryOptions = class; { TRODiscoveryOptions } { Description: Use this base class to define custom Option strcuts that you can pass back from your Server Discovery calls } TRODiscoveryOptions = class(TROComplexType) end; { IRODiscoveryService } IRODiscoveryService = interface ['{D0F69433-544B-4003-946F-AD35046169B0}'] function FindService(const iName: String; var ioServerOptions: TRODiscoveryOptions): String; end; { CoIRODiscoveryService } CoRODiscoveryService = class class function Create(const aMessage : IROMessage; aTransportChannel : IROTransportChannel) : IRODiscoveryService; end; TRODiscoveryService_Proxy = class(TROProxy, IRODiscoveryService) protected function __GetInterfaceName:string; override; function FindService(const iName: String; var ioServerOptions: TRODiscoveryOptions): String; end; implementation uses {vcl:} SysUtils, {RemObjects:} uROClasses, uRORes; { CoIRODiscoveryService } class function CoRODiscoveryService.Create(const aMessage : IROMessage; aTransportChannel : IROTransportChannel) : IRODiscoveryService; begin result := TRODiscoveryService_Proxy.Create(aMessage, aTransportChannel); end; { TRODiscoveryService_Proxy } function TRODiscoveryService_Proxy.__GetInterfaceName:string; begin result := 'IRODiscoveryService'; end; function TRODiscoveryService_Proxy.FindService(const iName: String; var ioServerOptions: TRODiscoveryOptions): String; begin try __Message.InitializeRequestMessage(__TransportChannel, 'RODiscovery', __InterfaceName, 'FindService'); __Message.Write('iName', TypeInfo(String), iName, []); __Message.Write('ioServerOptions', TypeInfo(TRODiscoveryOptions), ioServerOptions, []); __Message.Finalize; __TransportChannel.Dispatch(__Message); __Message.Read('Result', TypeInfo(String), result, []); __Message.Read('ioServerOptions', TypeInfo(TRODiscoveryOptions), ioServerOptions, []); finally __Message.FreeStream; end end; initialization RegisterROClass(TRODiscoveryOptions); RegisterProxyClass(IRODiscoveryService_IID, TRODiscoveryService_Proxy); finalization UnregisterROClass(TRODiscoveryOptions); UnregisterProxyClass(IRODiscoveryService_IID); end.