TRORemoteService
Overview
The Remote Service component is used to represent the connection to a remote service - both the channel and message component as well as the name of the service.
Location
- Unit: uRORemoteService.pas
- Ancestry: TComponent | TROComponent | TROMessageAwareComponent | TROChannelAwareComponent | TRORemoteService
constructor Create override
Standard component constructor
constructor Create(AOwner: TComponent)
Parameters:
- AOwner: Owner
Assign override
Copies the contents of another, similar object.
procedure Assign(Source: TPersistent)
Parameters:
- Source: Instance whose properties will be copied
CacheRODL
Determines whether the RODL Library available through the GetRODLLibrary method will be cached between calls. If set to false (default), the RODL file will be retrieved from the server every time GetRODLLibrary is called. If set to true, the RODL will only be downloaded once, the first time it is needed.
property CacheRODL: Boolean read write
Channel
This is the channel component that will be used to communicate with the Service.
property Channel: TROTransportChannel read write
CheckCanConnect
procedure CheckCanConnect(CheckServiceName: Boolean)
Parameters:
- CheckServiceName:
CheckProperties
Validates the service properies.
procedure CheckProperties
CloneMessage
Controls which message instance will be used for remote requests. The value of this property affects TROBaseProxy.__GetMessage behavior, when set to true it will clone the message instance every time before making a remote request. Cloning the message helps to avoid conflicts in multithreaded environment (e.g. when TROEventReceiver is used).
property CloneMessage: Boolean read write
GetRODLLibrary virtual
Obtains the RODL file from the server (if needed) and returns a TRODLLibrary instance representing the content of the library. The TRODLLibrary instance returned is owned by the Remote Service component. It and all its elements are freed whenever a new RODL is downloaded (if CacheRODL is false), or when the Service is freed.
function GetRODLLibrary: TRODLLibrary
GetServiceMethods virtual
Returns a list of all methods defined in the Service.
function GetServiceMethods: IROStrings
GetServiceName protected
function GetServiceName: string
GetServiceNames
Returns a list of all services defined in the server's RODL library.
function GetServiceNames(aIncludeAbstractServices: Boolean): IROStrings
Parameters:
- aIncludeAbstractServices:
Message
The message format that will be used to communicate with the Service.
property Message: TROMessage read write
Notification protected override (declared in TROChannelAwareComponent)
Forwards notification messages to all owned components.
procedure Notification(AComponent: TComponent; Operation: TOperation)
Parameters:
- AComponent: component
- Operation: operation
QueryServiceInfo protected
function QueryServiceInfo: TStream
ROFreeNotification (declared in TROComponent)
Forwards notification messages to all owned components.
procedure ROFreeNotification(aComponent: TComponent)
Parameters:
- aComponent: component
RORemoveFreeNotification (declared in TROComponent)
Forwards notification messages to all owned components.
procedure RORemoveFreeNotification(aComponent: TComponent)
Parameters:
- aComponent: component
SendRemoveNotification protected (declared in TROComponent)
Forwards notification messages to all owned components.
procedure SendRemoveNotification(aComponent: TComponent)
Parameters:
- aComponent: component
ServiceName
Sets the name of the Service.
property ServiceName: string read write
SetRODLLibrary
procedure SetRODLLibrary(aLibrary: TRODLLibrary)
Parameters:
- aLibrary:
SetUpForTargetUri
procedure SetUpForTargetUri(const aUri: TROUri)
Parameters:
- aUri: Server Uri
SetUpForTargetUrl
procedure SetUpForTargetUrl(const aUrl: string)
Parameters:
- aUrl:
CacheRODL
Determines whether the RODL Library available through the GetRODLLibrary method will be cached between calls. If set to false (default), the RODL file will be retrieved from the server every time GetRODLLibrary is called. If set to true, the RODL will only be downloaded once, the first time it is needed.
property CacheRODL: Boolean read write
Channel
This is the channel component that will be used to communicate with the Service.
property Channel: TROTransportChannel read write
CloneMessage
Controls which message instance will be used for remote requests. The value of this property affects TROBaseProxy.__GetMessage behavior, when set to true it will clone the message instance every time before making a remote request. Cloning the message helps to avoid conflicts in multithreaded environment (e.g. when TROEventReceiver is used).
property CloneMessage: Boolean read write
Message
The message format that will be used to communicate with the Service.
property Message: TROMessage read write
ServiceName
Sets the name of the Service.
property ServiceName: string read write
constructor Create override
Standard component constructor
constructor Create(AOwner: TComponent)
Parameters:
- AOwner: Owner
Assign override
Copies the contents of another, similar object.
procedure Assign(Source: TPersistent)
Parameters:
- Source: Instance whose properties will be copied
CheckCanConnect
procedure CheckCanConnect(CheckServiceName: Boolean)
Parameters:
- CheckServiceName:
CheckProperties
Validates the service properies.
procedure CheckProperties
GetRODLLibrary virtual
Obtains the RODL file from the server (if needed) and returns a TRODLLibrary instance representing the content of the library. The TRODLLibrary instance returned is owned by the Remote Service component. It and all its elements are freed whenever a new RODL is downloaded (if CacheRODL is false), or when the Service is freed.
function GetRODLLibrary: TRODLLibrary
GetServiceMethods virtual
Returns a list of all methods defined in the Service.
function GetServiceMethods: IROStrings
GetServiceName protected
function GetServiceName: string
GetServiceNames
Returns a list of all services defined in the server's RODL library.
function GetServiceNames(aIncludeAbstractServices: Boolean): IROStrings
Parameters:
- aIncludeAbstractServices:
Notification protected override (declared in TROChannelAwareComponent)
Forwards notification messages to all owned components.
procedure Notification(AComponent: TComponent; Operation: TOperation)
Parameters:
- AComponent: component
- Operation: operation
QueryServiceInfo protected
function QueryServiceInfo: TStream
ROFreeNotification (declared in TROComponent)
Forwards notification messages to all owned components.
procedure ROFreeNotification(aComponent: TComponent)
Parameters:
- aComponent: component
RORemoveFreeNotification (declared in TROComponent)
Forwards notification messages to all owned components.
procedure RORemoveFreeNotification(aComponent: TComponent)
Parameters:
- aComponent: component
SendRemoveNotification protected (declared in TROComponent)
Forwards notification messages to all owned components.
procedure SendRemoveNotification(aComponent: TComponent)
Parameters:
- aComponent: component
SetRODLLibrary
procedure SetRODLLibrary(aLibrary: TRODLLibrary)
Parameters:
- aLibrary:
SetUpForTargetUri
procedure SetUpForTargetUri(const aUri: TROUri)
Parameters:
- aUri: Server Uri
SetUpForTargetUrl
procedure SetUpForTargetUrl(const aUrl: string)
Parameters:
- aUrl: