TROMessage
Overview
TROMessage is the base class for all message format components provided with Remoting SDK.
You will usually not create instances of this class directly, but use the four descendant components, instead:
Location
- Unit: uROMessage.pas
- Ancestry: TComponent | TROComponent | TROMessage
constructor Create reintroduce overload virtual
Standard component constructor
constructor Create
constructor Create (TComponent) overload override
Standard component constructor
constructor Create(aOwner: TComponent)
Parameters:
- aOwner: Owner
constructor CreateRefCountedClone virtual
constructor CreateRefCountedClone(aMessage: TROMessage)
Parameters:
- aMessage:
AddServerExceptionPrefix
property AddServerExceptionPrefix: Boolean read write
ApplyAttributes2 protected virtual
Sets SOAP attributes (SOAP message only)
procedure ApplyAttributes2
ApplyAttributes2_Transport protected virtual
Sets transport related attributes (SOAP message only)
procedure ApplyAttributes2_Transport(aTransport: IROTransport)
Parameters:
- aTransport: IROTransport
Assign override
Copies the contents of another, similar object.
procedure Assign(Source: TPersistent)
Parameters:
- Source: Instance whose properties will be copied
CanRemapParameters protected virtual
function CanRemapParameters: Boolean
CheckForEnvelope
Writes the content of the message to aStream
.
class function CheckForEnvelope(Source: TStream; var aEnvelopeName: string): Boolean
Parameters:
- Source: stream
- aEnvelopeName: free stream
CheckProperties virtual
Validates the message properties.
procedure CheckProperties
ClientID
Contains the Client ID for the message. Client IDs are used by the Remoting SDK for Session Management and to uniquely identify individual client on the server, for example by the Per-Client Class Factory or in your own custom code. Generally, you will not need to assign or read this value; the framework will automatically create a new unique client ID whenever a message object is instantiated on the client. However, you do have the option to read and write the ClientID property manually, for example to persist a specific client ID between shutdown and restart of your application.
property ClientID: TGuid read write
Clone protected virtual
Makes a shallow copy of this instance.
function Clone: IROMessage
CreateException protected
function CreateException(const aExceptionName: string; const aMessage: string): Exception
Parameters:
- aExceptionName:
- aMessage:
CreateSerializer protected virtual abstract
Creates the required serializer object.
function CreateSerializer: TROSerializer
DefaultNamespaces
property DefaultNamespaces: string read write
EndWriteException protected
Writes the content of the message to aStream
.
procedure EndWriteException(Dest: TStream)
Parameters:
- Dest: stream
Envelopes
Envelopes collection.
property Envelopes: TROMessageEnvelopeCollection read write
Envelopes_ProcessIncoming protected
Writes the content of the message to aStream
.
procedure Envelopes_ProcessIncoming(Source: TStream)
Parameters:
- Source: stream
Envelopes_ProcessOutgoing protected
Writes the content of the message to aStream
.
procedure Envelopes_ProcessOutgoing(Dest: TStream)
Parameters:
- Dest: stream
Finalize protected virtual
Ensures that the message content is complete before sending it by performing all necessary final processing. This method is called after all parameters have been written to a message and before the message will be sent. It should perform all necessary wrap-up to ensure that a subsequent call to WriteToStream will produce a complete message.
procedure Finalize
FreeStream protected virtual
Destroys stream
procedure FreeStream
GetModuleInfo protected virtual
Writes the content of the message to aStream
.
procedure GetModuleInfo(Dest: TStream; const aTransport: IROTransport; var aFormat: TDataFormat)
Parameters:
- Dest: Stream
- aTransport: Transport channel
- aFormat: Format
GetRodlInfo protected
Writes the content of the message to aStream
.
procedure GetRodlInfo(Dest: TStream; const aTransport: IROTransport; var aFormat: TDataFormat)
Parameters:
- Dest: Stream
- aTransport: Transport channel
- aFormat: Format
GetSerializer protected virtual
function GetSerializer: TROSerializer
HasEnvelope
Detects envelope in aData
class function HasEnvelope(const aData: TBytes): Boolean
Parameters:
- aData:
Http_Headers protected
function Http_Headers: TStringList
Initialize (IROTransport, string, string, string, TMessageType) protected overload virtual
Initializes the message with the given parameters.
procedure Initialize(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string; aType: TMessageType)
Parameters:
- aTransport: IROTransport
- aLibraryName: RODL file name
- anInterfaceName: Interface name
- aMessageName: Message name
- aType: TMessageType
Initialize (IROTransport, string, string, TMessageType) protected overload virtual
Initializes the message with the given parameters.
procedure Initialize(const aTransport: IROTransport; const anInterfaceName: string; const aMessageName: string; aType: TMessageType)
Parameters:
- aTransport: IROTransport
- anInterfaceName: Interface name
- aMessageName: Message name
- aType: TMessageType
InitializeEventMessage protected
Initializes an Event message with the given parameters.
procedure InitializeEventMessage(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string)
Parameters:
- aTransport: IROTransport
- aLibraryName: RODL file name
- anInterfaceName: Interface name
- aMessageName: Message name
InitializeExceptionMessage protected virtual
Initializes an Exception message with the given parameters.
procedure InitializeExceptionMessage(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string)
Parameters:
- aTransport: IROTransport
- aLibraryName: RODL file name
- anInterfaceName: Interface name
- aMessageName: Message name
InitializeRead protected virtual
Performs additional initialization before reading.
procedure InitializeRead(const aTransport: IROTransport)
Parameters:
- aTransport: IROTransport
InitializeRequestMessage protected
Initializes a mtRequest message with the given parameters.
procedure InitializeRequestMessage(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string)
Parameters:
- aTransport: IROTransport
- aLibraryName: RODL file name
- anInterfaceName: Interface name
- aMessageName: Message name
InitializeResponseMessage protected
Initializes a mtResponse message with the given parameters.
procedure InitializeResponseMessage(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string)
Parameters:
- aTransport: IROTransport
- aLibraryName: RODL file name
- anInterfaceName: Interface name
- aMessageName: Message name
InitObject protected virtual
Initializes message.
procedure InitObject
InterfaceName
Holds the name of the interface (Service) that this message is calling.
property InterfaceName: string read write
IsValidMessage virtual abstract
Checks if aData
is suitable for given message.
This method is used by TROServerMultiMessage class for detection message class
function IsValidMessage(aData: Pointer; aLength: Integer; aOriginalLength: Integer): Boolean
Parameters:
- aData: Data
- aLength: Length of
aData
- aOriginalLength: Length of original stream
MaxEventsPerPoll protected
property MaxEventsPerPoll: Integer read write
MaxStringSize
Gets or sets the maximum string size to be received.
property MaxStringSize: Integer read write
MessageMatchingTargetUri
Creates a client message with type matching the provided target Uri.
class function MessageMatchingTargetUri(const aUri: TROUri): TROMessage
Parameters:
- aUri: Server Uri
MessageMatchingTargetUrl
Creates a client message with type matching the provided target Url
class function MessageMatchingTargetUrl(const aUrl: string): TROMessage
Parameters:
- aUrl: Server Url
MessageName
The name of the method that this message is calling. This property is set by the Remoting SDK framework, and you will not usually change it manually. However, you might want to evaluate it for logging purposes or security checks, in the events of TROTransportChannel or Server.
property MessageName: string read write
Notification protected override
Forwards notification messages to all owned components.
procedure Notification(AComponent: TComponent; Operation: TOperation)
Parameters:
- AComponent: component
- Operation: operation
OnAfterProcessIncomingEnvelopes
Fires after incoming envelopes were processed
property OnAfterProcessIncomingEnvelopes: TStreamOperation read write
delegate: procedure OnAfterProcessIncomingEnvelopes(aStream: TStream)
OnAfterProcessOutgoingEnvelopes
Fires after outgoing envelopes were processed
property OnAfterProcessOutgoingEnvelopes: TStreamOperation read write
delegate: procedure OnAfterProcessOutgoingEnvelopes(aStream: TStream)
OnBeforeProcessIncomingEnvelopes
Fires before incoming envelopes were processed
property OnBeforeProcessIncomingEnvelopes: TStreamOperation read write
delegate: procedure OnBeforeProcessIncomingEnvelopes(aStream: TStream)
OnBeforeProcessOutgoingEnvelopes
Fires before outgoing evvelopes were processed
property OnBeforeProcessOutgoingEnvelopes: TStreamOperation read write
delegate: procedure OnBeforeProcessOutgoingEnvelopes(aStream: TStream)
OnFinalizeMessage
Fires as a message object is getting finalized, to send a new request or response. This happens after the entire message has been generated, all parameters have been added, and the message is ready to be sent off over the network.
property OnFinalizeMessage: TROFinalizeMessageEvent read write
delegate: procedure OnFinalizeMessage(Sender: TROMessage)
OnInitializeMessage
Fires as a message object is getting initialized, to send a new request or response. This happens after the basic message options are set, but before any parameters or data have been stored in the message.
property OnInitializeMessage: TROInitializeMessageEvent read write
delegate: procedure OnInitializeMessage(Sender: TROMessage; const aTransport: IROTransport; const anInterfaceName: string; const aMessageName: string)
OnReadFromStream
Fires before the message is read from the stream that was received over the network. You can use this event to inspect the received stream, or to make manual modifications to it, for example to apply any custom decryption to the message stream before it is processed.
property OnReadFromStream: TStreamOperation read write
delegate: procedure OnReadFromStream(aStream: TStream)
OnReadMessageParameter
Fires after an individual message parameter has been read from the received message. The event call will include information about the name and type of the parameter, as well as an untyped pointer to the data. Use this event handler to inspect or log the parameters that are received. In theory, it is also possible to modify the value parameter using the DataRef pointer, but this should be done with extreme caution.
property OnReadMessageParameter: TROReadMessageParameterEvent read write
delegate: procedure OnReadMessageParameter(Sender: TROMessage; const aName: string; aTypeInfo: PTypeInfo; const DataRef: Pointer; Attributes: TParamAttributes)
OnServerException
Fires if an exception message is received from the server. Use this event handler to provide a single point of interception to be notified of all exceptions raised on the server. In contrast to the TROTransportChannel's OnException event, this event will not fire for communication errors or local exceptions during the processing of a request, but only for exceptions that truly originated on the server.
property OnServerException: TROServerExceptionEvent read write
delegate: procedure OnServerException(anException: Exception; var RaiseException: Boolean)
OnWriteException
Fires after an exception message was written to the stream that will be sent over the network. This event will fire in addition to (and before) the OnWriteToStream event. You can use this event to inspect the exception message or the outgoing stream.
property OnWriteException: TROWriteExceptionEvent read write
delegate: procedure OnWriteException(Sender: TROMessage; aStream: TStream; E: Exception)
OnWriteMessageParameter
Fires before an individual message parameter will be written to the outgoing message. The event call will include information about the name and type of the parameter, as well as an untyped pointer to the data.
property OnWriteMessageParameter: TROWriteMessageParameterEvent read write
delegate: procedure OnWriteMessageParameter(Sender: TROMessage; const aName: string; aTypeInfo: PTypeInfo; const DataRef: Pointer; Attributes: TParamAttributes)
OnWriteToStream
Fires after the message was written to the stream that will be sent over the network. You can use this event to inspect the outgoing stream, or to make manual modifications to it, e.g. to apply any custom encryption to the message stream before it is sent off.
property OnWriteToStream: TStreamOperation read write
delegate: procedure OnWriteToStream(aStream: TStream)
ProcessException protected
procedure ProcessException
Read protected virtual
The general method to read any data.
procedure Read(const aName: string; aTypeInfo: PTypeInfo; var Ptr: ; Attributes: TParamAttributes)
Parameters:
- aName: Name of the object to read.
- aTypeInfo: Runtime type information for the data to read.
- Ptr: Output parameter, should point to the deserialized instance.
- Attributes: Set of TParamAttribute
ReadArray protected
Reads an array value.
function ReadArray(const aName: string; aClass: TClass; var Ref: ; ArrayElementId: Integer): Boolean
Parameters:
- aName: Name of the object to read.
- aClass: Class of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadArrayWithErrorHandling protected
Reads an array value.
function ReadArrayWithErrorHandling(const aName: string; aClass: TClass; out Value: ; ArrayElementId: Integer): Boolean
Parameters:
- aName: Name of the object to read.
- aClass: Class of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadBinary protected
Reads a Binary value.
procedure ReadBinary(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadBinaryWithErrorHandling protected
Reads a Binary value.
procedure ReadBinaryWithErrorHandling(const aName: string; out Value: TROBinaryMemoryStream; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadBoolean protected
Reads a Boolean value.
procedure ReadBoolean(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadBooleanWithErrorHandling protected
Reads a Boolean value.
procedure ReadBooleanWithErrorHandling(const aName: string; out Value: Boolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadCurrency protected
Reads a Currency value.
procedure ReadCurrency(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadCurrencyWithErrorHandling protected
Reads a Currency value.
procedure ReadCurrencyWithErrorHandling(const aName: string; out Value: Currency; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDateTime protected
Reads a TDateTime value.
procedure ReadDateTime(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDateTimeWithErrorHandling protected
Reads a TDateTime value.
procedure ReadDateTimeWithErrorHandling(const aName: string; out Value: TDateTime; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDecimal protected
Reads a Decimal value.
procedure ReadDecimal(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDecimalWithErrorHandling protected
Reads a Decimal value.
procedure ReadDecimalWithErrorHandling(const aName: string; out Value: Decimal; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDecimalWithErrorHandling_cpp protected
Reads a Decimal value, C++Builder version
procedure ReadDecimalWithErrorHandling_cpp(const aName: string; out Value: Variant; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDouble protected
Reads a Double value.
procedure ReadDouble(const aName: string; aFloatType: TFloatType; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aFloatType: Specifies the exact floating point type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDouble_ protected
Reads a Double value.
procedure ReadDouble_(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDoubleWithErrorHandling (string, TFloatType, , Integer) protected overload
Reads a Double value.
procedure ReadDoubleWithErrorHandling(const aName: string; aFloatType: TFloatType; out Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aFloatType: Specifies the exact floating point type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDoubleWithErrorHandling (string, Double, Integer) protected overload
Reads a Double value.
procedure ReadDoubleWithErrorHandling(const aName: string; out Value: Double; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadEnumerated protected
Reads an enumerated value.
procedure ReadEnumerated(const aName: string; anEnumTypeInfo: PTypeInfo; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- anEnumTypeInfo: Runtime type information for the enuymerated type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadEnumeratedWithErrorHandling protected
Reads an enumerated value.
procedure ReadEnumeratedWithErrorHandling(const aName: string; anEnumTypeInfo: PTypeInfo; out Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- anEnumTypeInfo: Runtime type information for the enuymerated type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadException protected virtual abstract
Reads the exception data from the incoming message and creates the exception object accordingly.
function ReadException: Exception
ReadExceptionWithErrorHandling protected
Reads the exception data from the incoming message and creates the exception object accordingly.
procedure ReadExceptionWithErrorHandling(const aName: string; out Value: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadFromStream (TStream) protected overload virtual
Writes the content of the message to aStream
.
procedure ReadFromStream(Source: TStream)
Parameters:
- Source: stream
ReadFromStream (TStream, Boolean) protected overload virtual
Writes the content of the message to aStream
.
procedure ReadFromStream(Source: TStream; var aFreeStream: Boolean)
Parameters:
- Source: stream
- aFreeStream: free stream
ReadGuid protected
Reads a GUID value.
procedure ReadGuid(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadGuidWithErrorHandling protected
Reads a GUID value.
procedure ReadGuidWithErrorHandling(const aName: string; out Value: Guid; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInt32 protected
Reads a Integer value.
procedure ReadInt32(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInt32WithErrorHandling protected
Reads a Integer value.
procedure ReadInt32WithErrorHandling(const aName: string; out Value: Integer; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInt64 protected
Reads a Int64 value.
procedure ReadInt64(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInt64WithErrorHandling protected
Reads a Int64 value.
procedure ReadInt64WithErrorHandling(const aName: string; out Value: Int64; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInteger protected
Reads a Integer value (32 bits or less).
procedure ReadInteger(const aName: string; anOrdType: TOrdType; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- anOrdType: Specifies the exact integer point type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadIntegerWithErrorHandling protected
Reads a Integer value (32 bits or less).
procedure ReadIntegerWithErrorHandling(const aName: string; anOrdType: TOrdType; out Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- anOrdType: Specifies the exact integer point type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadLegacyString protected
Reads a legacy string (AnsiString or UTF8String) value.
procedure ReadLegacyString(const aName: string; var Ref: ; ExtraAttributes: TParamAttributes; ArrayElementId: Integer; aMaxLength: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ExtraAttributes: specified what string should be read (AnsiString or UTF8String)
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- aMaxLength: Specifies the maximum string length to read, is set to -1 when no restriction is required.
ReadLegacyStringWithErrorHandling protected
Reads a legacy string (AnsiString or UTF8String) value.
procedure ReadLegacyStringWithErrorHandling(const aName: string; out Value: string; ExtraAttributes: TParamAttributes; ArrayElementId: Integer; aMaxLength: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ExtraAttributes: specified what string should be read (AnsiString or UTF8String)
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- aMaxLength: Specifies the maximum string length to read, is set to -1 when no restriction is required.
ReadNullableBoolean protected
Reads a NullableBoolean value.
procedure ReadNullableBoolean(const aName: string; out aValue: NullableBoolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableBooleanWithErrorHandling protected
Reads a NullableBoolean value.
procedure ReadNullableBooleanWithErrorHandling(const aName: string; out Value: NullableBoolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableCurrency protected
Reads a NullableCurrency value.
procedure ReadNullableCurrency(const aName: string; out aValue: NullableCurrency; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableCurrencyWithErrorHandling protected
Reads a NullableCurrency value.
procedure ReadNullableCurrencyWithErrorHandling(const aName: string; out Value: NullableCurrency; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDateTime protected
Reads a NullableDateTime value.
procedure ReadNullableDateTime(const aName: string; out aValue: NullableDateTime; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDateTimeWithErrorHandling protected
Reads a NullableDateTime value.
procedure ReadNullableDateTimeWithErrorHandling(const aName: string; out Value: NullableDateTime; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDecimal protected
Reads a NullableDecimal value.
procedure ReadNullableDecimal(const aName: string; out aValue: NullableDecimal; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDecimalWithErrorHandling protected
Reads a NullableDecimal value.
procedure ReadNullableDecimalWithErrorHandling(const aName: string; out Value: NullableDecimal; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDouble protected
Reads a NullableDouble value.
procedure ReadNullableDouble(const aName: string; out aValue: NullableDouble; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDoubleWithErrorHandling protected
Reads a NullableDouble value.
procedure ReadNullableDoubleWithErrorHandling(const aName: string; out Value: NullableDouble; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableGuid protected
Reads a NullableGuid value.
procedure ReadNullableGuid(const aName: string; out aValue: NullableGuid; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableGuidWithErrorHandling protected
Reads a NullableGuid value.
procedure ReadNullableGuidWithErrorHandling(const aName: string; out Value: NullableGuid; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableInt64 protected
Reads a NullableInt64 value.
procedure ReadNullableInt64(const aName: string; out aValue: NullableInt64; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableInt64WithErrorHandling protected
Reads a NullableInt64 value.
procedure ReadNullableInt64WithErrorHandling(const aName: string; out Value: NullableInt64; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableInteger protected
Reads a NullableInteger value.
procedure ReadNullableInteger(const aName: string; out aValue: NullableInteger; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableIntegerWithErrorHandling protected
Reads a NullableInteger value.
procedure ReadNullableIntegerWithErrorHandling(const aName: string; out Value: NullableInteger; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadStruct protected
Reads a Struct value.
function ReadStruct(const aName: string; aClass: TClass; var Ref: ; ArrayElementId: Integer): Boolean
Parameters:
- aName: Name of the object to read.
- aClass: Class of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadStructWithErrorHandling protected
Reads a Struct value.
function ReadStructWithErrorHandling(const aName: string; aClass: TClass; out Value: ; ArrayElementId: Integer): Boolean
Parameters:
- aName: Name of the object to read.
- aClass: Class of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadUnicodeString protected
Reads unicode string from stream
procedure ReadUnicodeString(const aName: string; var Ref: ; ArrayElementId: Integer; aMaxLength: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- aMaxLength: Specifies the maximum string length to read, is set to -1 when no restriction is required.
ReadUnicodeStringWithErrorHandling protected
Reads unicode string from stream
procedure ReadUnicodeStringWithErrorHandling(const aName: string; out Value: UnicodeString; ArrayElementId: Integer; aMaxLength: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- aMaxLength: Specifies the maximum string length to read, is set to -1 when no restriction is required.
ReadVariant protected
Reads a Variant value.
procedure ReadVariant(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadVariantWithErrorHandling protected
Reads a Variant value.
procedure ReadVariantWithErrorHandling(const aName: string; out Value: Variant; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadXml protected
Reads a XML value.
procedure ReadXml(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadXmlWithErrorHandling protected
Reads a XML value.
procedure ReadXmlWithErrorHandling(const aName: string; out Value: IXMLNode; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReferenceCounted protected
property ReferenceCounted: Boolean read
RemapParameters protected virtual
procedure RemapParameters(const Parameters: array of string)
Parameters:
- Parameters:
RODLReader
property RODLReader: TROCustomRODLReader read write
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
Serializer
Returns object that is used for serializing/deserializing any type of data
property Serializer: TROSerializer read
SetAttributes protected virtual
Sets additional information.
procedure SetAttributes(aTransport: IROTransport; const aNames: array of string; const aValues: array of string)
Parameters:
- aTransport: Transport channel
- aNames: Names
- aValues: Values
SetServiceGroups protected
Allows to set Service Groups
procedure SetServiceGroups(Value: string)
Parameters:
- Value: Service groups
StoreAttributes2 protected
Stores SOAP attributes (SOAP message only)
procedure StoreAttributes2(const aNames: array of string; const aValues: array of string)
Parameters:
- aNames: Names
- aValues: Values
UnsetAttributes protected virtual
Clears additional information.
procedure UnsetAttributes(aTransport: IROTransport)
Parameters:
- aTransport: Transport channel
UnsetAttributes2 protected virtual
Clears additional information.
procedure UnsetAttributes2
UnsetAttributes2_Transport protected virtual
Clears additional information.
procedure UnsetAttributes2_Transport(aTransport: IROTransport)
Parameters:
- aTransport: Transport channel
Write protected virtual
Writes the value of the aName
parameter from Ptr
with the given aTypeInfo
and ExtraAttributes
to the message.
procedure Write(const aName: string; aTypeInfo: PTypeInfo; const Ptr: ; Attributes: TParamAttributes)
Parameters:
- aName: Name of the object to write.
- aTypeInfo: RTI
- Ptr: Pointer to the source variable
- Attributes: set of TParamAttribute
WriteArray protected
Writes an array value.
procedure WriteArray(const aName: string; const Ref: ; aClass: TClass; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- aClass: Class of the object to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteBinary protected
Writes a Binary value.
procedure WriteBinary(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteBoolean protected
Writes a Boolean value.
procedure WriteBoolean(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteCurrency protected
Writes a Currency value.
procedure WriteCurrency(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteDateTime protected
Writes a TDateTime value.
procedure WriteDateTime(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteDecimal protected
Writes a Decimal value.
procedure WriteDecimal(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteDouble protected
Writes a Double value.
procedure WriteDouble(const aName: string; aFloatType: TFloatType; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aFloatType: Specifies the exact floating point data type to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteDouble_ protected
Writes a Double value.
procedure WriteDouble_(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteEnumerated protected
Writes an enumerated value.
procedure WriteEnumerated(const aName: string; anEnumTypeInfo: PTypeInfo; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- anEnumTypeInfo: Runtime type information of the enumerated type.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteEnvelopeHeader protected
Writes the content of the message to aStream
.
procedure WriteEnvelopeHeader(aEnvelope: TROMessageEnvelope; Dest: TStream)
Parameters:
- aEnvelope: stream
- Dest: free stream
WriteException protected virtual
Writes the exception to stream.
procedure WriteException(Dest: TStream; anException: Exception)
Parameters:
- Dest: stream
- anException: free stream
WriteGuid protected
Writes a GUID value.
procedure WriteGuid(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteInt32 protected
Writes a Integer value.
procedure WriteInt32(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteInt64 protected
Writes a Int64 value.
procedure WriteInt64(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteInteger protected
Writes a Integer value (32 bits or less).
procedure WriteInteger(const aName: string; anOrdType: TOrdType; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- anOrdType: Specifies the exact integer data type to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteLegacyString protected
Writes a legacy string (AnsiString or UTF8String) value.
procedure WriteLegacyString(const aName: string; const Ref: ; ExtraAttributes: TParamAttributes; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ExtraAttributes: specified what string should be written (AnsiString or UTF8String)
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableBoolean protected
Writes a NullableBoolean value.
procedure WriteNullableBoolean(const aName: string; aValue: NullableBoolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableCurrency protected
Writes a NullableCurrency value.
procedure WriteNullableCurrency(const aName: string; aValue: NullableCurrency; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableDateTime protected
Writes a NullableDateTime value.
procedure WriteNullableDateTime(const aName: string; aValue: NullableDateTime; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableDecimal protected
Writes a NullableDecimal value.
procedure WriteNullableDecimal(const aName: string; aValue: NullableDecimal; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableDouble protected
Writes a NullableDouble value.
procedure WriteNullableDouble(const aName: string; aValue: NullableDouble; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableGuid protected
Writes a NullableGuid value.
procedure WriteNullableGuid(const aName: string; aValue: NullableGuid; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableInt64 protected
Writes a NullableInt64 value.
procedure WriteNullableInt64(const aName: string; aValue: NullableInt64; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableInteger protected
Writes a NullableInteger value.
procedure WriteNullableInteger(const aName: string; aValue: NullableInteger; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteStruct protected
Writes a Struct value.
procedure WriteStruct(const aName: string; const Ref: ; aClass: TClass; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- aClass: Class of the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteToStream protected virtual
Writes the content of the message to aStream
.
procedure WriteToStream(Dest: TStream)
Parameters:
- Dest: stream
WriteUnicodeString protected
Writes a WideString value.
procedure WriteUnicodeString(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteVariant protected
Writes a Variant value to the message.
procedure WriteVariant(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteXml protected
Writes a XML value.
procedure WriteXml(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
AddServerExceptionPrefix
property AddServerExceptionPrefix: Boolean read write
ClientID
Contains the Client ID for the message. Client IDs are used by the Remoting SDK for Session Management and to uniquely identify individual client on the server, for example by the Per-Client Class Factory or in your own custom code. Generally, you will not need to assign or read this value; the framework will automatically create a new unique client ID whenever a message object is instantiated on the client. However, you do have the option to read and write the ClientID property manually, for example to persist a specific client ID between shutdown and restart of your application.
property ClientID: TGuid read write
DefaultNamespaces
property DefaultNamespaces: string read write
Envelopes
Envelopes collection.
property Envelopes: TROMessageEnvelopeCollection read write
InterfaceName
Holds the name of the interface (Service) that this message is calling.
property InterfaceName: string read write
MaxEventsPerPoll protected
property MaxEventsPerPoll: Integer read write
MaxStringSize
Gets or sets the maximum string size to be received.
property MaxStringSize: Integer read write
MessageName
The name of the method that this message is calling. This property is set by the Remoting SDK framework, and you will not usually change it manually. However, you might want to evaluate it for logging purposes or security checks, in the events of TROTransportChannel or Server.
property MessageName: string read write
ReferenceCounted protected
property ReferenceCounted: Boolean read
RODLReader
property RODLReader: TROCustomRODLReader read write
Serializer
Returns object that is used for serializing/deserializing any type of data
property Serializer: TROSerializer read
CheckForEnvelope
Writes the content of the message to aStream
.
class function CheckForEnvelope(Source: TStream; var aEnvelopeName: string): Boolean
Parameters:
- Source: stream
- aEnvelopeName: free stream
HasEnvelope
Detects envelope in aData
class function HasEnvelope(const aData: TBytes): Boolean
Parameters:
- aData:
MessageMatchingTargetUri
Creates a client message with type matching the provided target Uri.
class function MessageMatchingTargetUri(const aUri: TROUri): TROMessage
Parameters:
- aUri: Server Uri
MessageMatchingTargetUrl
Creates a client message with type matching the provided target Url
class function MessageMatchingTargetUrl(const aUrl: string): TROMessage
Parameters:
- aUrl: Server Url
constructor Create reintroduce overload virtual
Standard component constructor
constructor Create
constructor Create (TComponent) overload override
Standard component constructor
constructor Create(aOwner: TComponent)
Parameters:
- aOwner: Owner
constructor CreateRefCountedClone virtual
constructor CreateRefCountedClone(aMessage: TROMessage)
Parameters:
- aMessage:
ApplyAttributes2 protected virtual
Sets SOAP attributes (SOAP message only)
procedure ApplyAttributes2
ApplyAttributes2_Transport protected virtual
Sets transport related attributes (SOAP message only)
procedure ApplyAttributes2_Transport(aTransport: IROTransport)
Parameters:
- aTransport: IROTransport
Assign override
Copies the contents of another, similar object.
procedure Assign(Source: TPersistent)
Parameters:
- Source: Instance whose properties will be copied
CanRemapParameters protected virtual
function CanRemapParameters: Boolean
CheckProperties virtual
Validates the message properties.
procedure CheckProperties
Clone protected virtual
Makes a shallow copy of this instance.
function Clone: IROMessage
CreateException protected
function CreateException(const aExceptionName: string; const aMessage: string): Exception
Parameters:
- aExceptionName:
- aMessage:
CreateSerializer protected virtual abstract
Creates the required serializer object.
function CreateSerializer: TROSerializer
EndWriteException protected
Writes the content of the message to aStream
.
procedure EndWriteException(Dest: TStream)
Parameters:
- Dest: stream
Envelopes_ProcessIncoming protected
Writes the content of the message to aStream
.
procedure Envelopes_ProcessIncoming(Source: TStream)
Parameters:
- Source: stream
Envelopes_ProcessOutgoing protected
Writes the content of the message to aStream
.
procedure Envelopes_ProcessOutgoing(Dest: TStream)
Parameters:
- Dest: stream
Finalize protected virtual
Ensures that the message content is complete before sending it by performing all necessary final processing. This method is called after all parameters have been written to a message and before the message will be sent. It should perform all necessary wrap-up to ensure that a subsequent call to WriteToStream will produce a complete message.
procedure Finalize
FreeStream protected virtual
Destroys stream
procedure FreeStream
GetModuleInfo protected virtual
Writes the content of the message to aStream
.
procedure GetModuleInfo(Dest: TStream; const aTransport: IROTransport; var aFormat: TDataFormat)
Parameters:
- Dest: Stream
- aTransport: Transport channel
- aFormat: Format
GetRodlInfo protected
Writes the content of the message to aStream
.
procedure GetRodlInfo(Dest: TStream; const aTransport: IROTransport; var aFormat: TDataFormat)
Parameters:
- Dest: Stream
- aTransport: Transport channel
- aFormat: Format
GetSerializer protected virtual
function GetSerializer: TROSerializer
Http_Headers protected
function Http_Headers: TStringList
Initialize (IROTransport, string, string, string, TMessageType) protected overload virtual
Initializes the message with the given parameters.
procedure Initialize(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string; aType: TMessageType)
Parameters:
- aTransport: IROTransport
- aLibraryName: RODL file name
- anInterfaceName: Interface name
- aMessageName: Message name
- aType: TMessageType
Initialize (IROTransport, string, string, TMessageType) protected overload virtual
Initializes the message with the given parameters.
procedure Initialize(const aTransport: IROTransport; const anInterfaceName: string; const aMessageName: string; aType: TMessageType)
Parameters:
- aTransport: IROTransport
- anInterfaceName: Interface name
- aMessageName: Message name
- aType: TMessageType
InitializeEventMessage protected
Initializes an Event message with the given parameters.
procedure InitializeEventMessage(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string)
Parameters:
- aTransport: IROTransport
- aLibraryName: RODL file name
- anInterfaceName: Interface name
- aMessageName: Message name
InitializeExceptionMessage protected virtual
Initializes an Exception message with the given parameters.
procedure InitializeExceptionMessage(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string)
Parameters:
- aTransport: IROTransport
- aLibraryName: RODL file name
- anInterfaceName: Interface name
- aMessageName: Message name
InitializeRead protected virtual
Performs additional initialization before reading.
procedure InitializeRead(const aTransport: IROTransport)
Parameters:
- aTransport: IROTransport
InitializeRequestMessage protected
Initializes a mtRequest message with the given parameters.
procedure InitializeRequestMessage(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string)
Parameters:
- aTransport: IROTransport
- aLibraryName: RODL file name
- anInterfaceName: Interface name
- aMessageName: Message name
InitializeResponseMessage protected
Initializes a mtResponse message with the given parameters.
procedure InitializeResponseMessage(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string)
Parameters:
- aTransport: IROTransport
- aLibraryName: RODL file name
- anInterfaceName: Interface name
- aMessageName: Message name
InitObject protected virtual
Initializes message.
procedure InitObject
IsValidMessage virtual abstract
Checks if aData
is suitable for given message.
This method is used by TROServerMultiMessage class for detection message class
function IsValidMessage(aData: Pointer; aLength: Integer; aOriginalLength: Integer): Boolean
Parameters:
- aData: Data
- aLength: Length of
aData
- aOriginalLength: Length of original stream
Notification protected override
Forwards notification messages to all owned components.
procedure Notification(AComponent: TComponent; Operation: TOperation)
Parameters:
- AComponent: component
- Operation: operation
ProcessException protected
procedure ProcessException
Read protected virtual
The general method to read any data.
procedure Read(const aName: string; aTypeInfo: PTypeInfo; var Ptr: ; Attributes: TParamAttributes)
Parameters:
- aName: Name of the object to read.
- aTypeInfo: Runtime type information for the data to read.
- Ptr: Output parameter, should point to the deserialized instance.
- Attributes: Set of TParamAttribute
ReadArray protected
Reads an array value.
function ReadArray(const aName: string; aClass: TClass; var Ref: ; ArrayElementId: Integer): Boolean
Parameters:
- aName: Name of the object to read.
- aClass: Class of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadArrayWithErrorHandling protected
Reads an array value.
function ReadArrayWithErrorHandling(const aName: string; aClass: TClass; out Value: ; ArrayElementId: Integer): Boolean
Parameters:
- aName: Name of the object to read.
- aClass: Class of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadBinary protected
Reads a Binary value.
procedure ReadBinary(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadBinaryWithErrorHandling protected
Reads a Binary value.
procedure ReadBinaryWithErrorHandling(const aName: string; out Value: TROBinaryMemoryStream; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadBoolean protected
Reads a Boolean value.
procedure ReadBoolean(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadBooleanWithErrorHandling protected
Reads a Boolean value.
procedure ReadBooleanWithErrorHandling(const aName: string; out Value: Boolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadCurrency protected
Reads a Currency value.
procedure ReadCurrency(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadCurrencyWithErrorHandling protected
Reads a Currency value.
procedure ReadCurrencyWithErrorHandling(const aName: string; out Value: Currency; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDateTime protected
Reads a TDateTime value.
procedure ReadDateTime(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDateTimeWithErrorHandling protected
Reads a TDateTime value.
procedure ReadDateTimeWithErrorHandling(const aName: string; out Value: TDateTime; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDecimal protected
Reads a Decimal value.
procedure ReadDecimal(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDecimalWithErrorHandling protected
Reads a Decimal value.
procedure ReadDecimalWithErrorHandling(const aName: string; out Value: Decimal; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDecimalWithErrorHandling_cpp protected
Reads a Decimal value, C++Builder version
procedure ReadDecimalWithErrorHandling_cpp(const aName: string; out Value: Variant; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDouble protected
Reads a Double value.
procedure ReadDouble(const aName: string; aFloatType: TFloatType; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aFloatType: Specifies the exact floating point type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDouble_ protected
Reads a Double value.
procedure ReadDouble_(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDoubleWithErrorHandling (string, TFloatType, , Integer) protected overload
Reads a Double value.
procedure ReadDoubleWithErrorHandling(const aName: string; aFloatType: TFloatType; out Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aFloatType: Specifies the exact floating point type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDoubleWithErrorHandling (string, Double, Integer) protected overload
Reads a Double value.
procedure ReadDoubleWithErrorHandling(const aName: string; out Value: Double; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadEnumerated protected
Reads an enumerated value.
procedure ReadEnumerated(const aName: string; anEnumTypeInfo: PTypeInfo; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- anEnumTypeInfo: Runtime type information for the enuymerated type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadEnumeratedWithErrorHandling protected
Reads an enumerated value.
procedure ReadEnumeratedWithErrorHandling(const aName: string; anEnumTypeInfo: PTypeInfo; out Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- anEnumTypeInfo: Runtime type information for the enuymerated type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadException protected virtual abstract
Reads the exception data from the incoming message and creates the exception object accordingly.
function ReadException: Exception
ReadExceptionWithErrorHandling protected
Reads the exception data from the incoming message and creates the exception object accordingly.
procedure ReadExceptionWithErrorHandling(const aName: string; out Value: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadFromStream (TStream) protected overload virtual
Writes the content of the message to aStream
.
procedure ReadFromStream(Source: TStream)
Parameters:
- Source: stream
ReadFromStream (TStream, Boolean) protected overload virtual
Writes the content of the message to aStream
.
procedure ReadFromStream(Source: TStream; var aFreeStream: Boolean)
Parameters:
- Source: stream
- aFreeStream: free stream
ReadGuid protected
Reads a GUID value.
procedure ReadGuid(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadGuidWithErrorHandling protected
Reads a GUID value.
procedure ReadGuidWithErrorHandling(const aName: string; out Value: Guid; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInt32 protected
Reads a Integer value.
procedure ReadInt32(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInt32WithErrorHandling protected
Reads a Integer value.
procedure ReadInt32WithErrorHandling(const aName: string; out Value: Integer; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInt64 protected
Reads a Int64 value.
procedure ReadInt64(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInt64WithErrorHandling protected
Reads a Int64 value.
procedure ReadInt64WithErrorHandling(const aName: string; out Value: Int64; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInteger protected
Reads a Integer value (32 bits or less).
procedure ReadInteger(const aName: string; anOrdType: TOrdType; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- anOrdType: Specifies the exact integer point type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadIntegerWithErrorHandling protected
Reads a Integer value (32 bits or less).
procedure ReadIntegerWithErrorHandling(const aName: string; anOrdType: TOrdType; out Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- anOrdType: Specifies the exact integer point type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadLegacyString protected
Reads a legacy string (AnsiString or UTF8String) value.
procedure ReadLegacyString(const aName: string; var Ref: ; ExtraAttributes: TParamAttributes; ArrayElementId: Integer; aMaxLength: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ExtraAttributes: specified what string should be read (AnsiString or UTF8String)
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- aMaxLength: Specifies the maximum string length to read, is set to -1 when no restriction is required.
ReadLegacyStringWithErrorHandling protected
Reads a legacy string (AnsiString or UTF8String) value.
procedure ReadLegacyStringWithErrorHandling(const aName: string; out Value: string; ExtraAttributes: TParamAttributes; ArrayElementId: Integer; aMaxLength: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ExtraAttributes: specified what string should be read (AnsiString or UTF8String)
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- aMaxLength: Specifies the maximum string length to read, is set to -1 when no restriction is required.
ReadNullableBoolean protected
Reads a NullableBoolean value.
procedure ReadNullableBoolean(const aName: string; out aValue: NullableBoolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableBooleanWithErrorHandling protected
Reads a NullableBoolean value.
procedure ReadNullableBooleanWithErrorHandling(const aName: string; out Value: NullableBoolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableCurrency protected
Reads a NullableCurrency value.
procedure ReadNullableCurrency(const aName: string; out aValue: NullableCurrency; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableCurrencyWithErrorHandling protected
Reads a NullableCurrency value.
procedure ReadNullableCurrencyWithErrorHandling(const aName: string; out Value: NullableCurrency; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDateTime protected
Reads a NullableDateTime value.
procedure ReadNullableDateTime(const aName: string; out aValue: NullableDateTime; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDateTimeWithErrorHandling protected
Reads a NullableDateTime value.
procedure ReadNullableDateTimeWithErrorHandling(const aName: string; out Value: NullableDateTime; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDecimal protected
Reads a NullableDecimal value.
procedure ReadNullableDecimal(const aName: string; out aValue: NullableDecimal; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDecimalWithErrorHandling protected
Reads a NullableDecimal value.
procedure ReadNullableDecimalWithErrorHandling(const aName: string; out Value: NullableDecimal; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDouble protected
Reads a NullableDouble value.
procedure ReadNullableDouble(const aName: string; out aValue: NullableDouble; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDoubleWithErrorHandling protected
Reads a NullableDouble value.
procedure ReadNullableDoubleWithErrorHandling(const aName: string; out Value: NullableDouble; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableGuid protected
Reads a NullableGuid value.
procedure ReadNullableGuid(const aName: string; out aValue: NullableGuid; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableGuidWithErrorHandling protected
Reads a NullableGuid value.
procedure ReadNullableGuidWithErrorHandling(const aName: string; out Value: NullableGuid; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableInt64 protected
Reads a NullableInt64 value.
procedure ReadNullableInt64(const aName: string; out aValue: NullableInt64; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableInt64WithErrorHandling protected
Reads a NullableInt64 value.
procedure ReadNullableInt64WithErrorHandling(const aName: string; out Value: NullableInt64; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableInteger protected
Reads a NullableInteger value.
procedure ReadNullableInteger(const aName: string; out aValue: NullableInteger; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableIntegerWithErrorHandling protected
Reads a NullableInteger value.
procedure ReadNullableIntegerWithErrorHandling(const aName: string; out Value: NullableInteger; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadStruct protected
Reads a Struct value.
function ReadStruct(const aName: string; aClass: TClass; var Ref: ; ArrayElementId: Integer): Boolean
Parameters:
- aName: Name of the object to read.
- aClass: Class of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadStructWithErrorHandling protected
Reads a Struct value.
function ReadStructWithErrorHandling(const aName: string; aClass: TClass; out Value: ; ArrayElementId: Integer): Boolean
Parameters:
- aName: Name of the object to read.
- aClass: Class of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadUnicodeString protected
Reads unicode string from stream
procedure ReadUnicodeString(const aName: string; var Ref: ; ArrayElementId: Integer; aMaxLength: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- aMaxLength: Specifies the maximum string length to read, is set to -1 when no restriction is required.
ReadUnicodeStringWithErrorHandling protected
Reads unicode string from stream
procedure ReadUnicodeStringWithErrorHandling(const aName: string; out Value: UnicodeString; ArrayElementId: Integer; aMaxLength: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- aMaxLength: Specifies the maximum string length to read, is set to -1 when no restriction is required.
ReadVariant protected
Reads a Variant value.
procedure ReadVariant(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadVariantWithErrorHandling protected
Reads a Variant value.
procedure ReadVariantWithErrorHandling(const aName: string; out Value: Variant; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadXml protected
Reads a XML value.
procedure ReadXml(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadXmlWithErrorHandling protected
Reads a XML value.
procedure ReadXmlWithErrorHandling(const aName: string; out Value: IXMLNode; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
RemapParameters protected virtual
procedure RemapParameters(const Parameters: array of string)
Parameters:
- Parameters:
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
SetAttributes protected virtual
Sets additional information.
procedure SetAttributes(aTransport: IROTransport; const aNames: array of string; const aValues: array of string)
Parameters:
- aTransport: Transport channel
- aNames: Names
- aValues: Values
SetServiceGroups protected
Allows to set Service Groups
procedure SetServiceGroups(Value: string)
Parameters:
- Value: Service groups
StoreAttributes2 protected
Stores SOAP attributes (SOAP message only)
procedure StoreAttributes2(const aNames: array of string; const aValues: array of string)
Parameters:
- aNames: Names
- aValues: Values
UnsetAttributes protected virtual
Clears additional information.
procedure UnsetAttributes(aTransport: IROTransport)
Parameters:
- aTransport: Transport channel
UnsetAttributes2 protected virtual
Clears additional information.
procedure UnsetAttributes2
UnsetAttributes2_Transport protected virtual
Clears additional information.
procedure UnsetAttributes2_Transport(aTransport: IROTransport)
Parameters:
- aTransport: Transport channel
Write protected virtual
Writes the value of the aName
parameter from Ptr
with the given aTypeInfo
and ExtraAttributes
to the message.
procedure Write(const aName: string; aTypeInfo: PTypeInfo; const Ptr: ; Attributes: TParamAttributes)
Parameters:
- aName: Name of the object to write.
- aTypeInfo: RTI
- Ptr: Pointer to the source variable
- Attributes: set of TParamAttribute
WriteArray protected
Writes an array value.
procedure WriteArray(const aName: string; const Ref: ; aClass: TClass; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- aClass: Class of the object to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteBinary protected
Writes a Binary value.
procedure WriteBinary(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteBoolean protected
Writes a Boolean value.
procedure WriteBoolean(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteCurrency protected
Writes a Currency value.
procedure WriteCurrency(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteDateTime protected
Writes a TDateTime value.
procedure WriteDateTime(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteDecimal protected
Writes a Decimal value.
procedure WriteDecimal(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteDouble protected
Writes a Double value.
procedure WriteDouble(const aName: string; aFloatType: TFloatType; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aFloatType: Specifies the exact floating point data type to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteDouble_ protected
Writes a Double value.
procedure WriteDouble_(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteEnumerated protected
Writes an enumerated value.
procedure WriteEnumerated(const aName: string; anEnumTypeInfo: PTypeInfo; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- anEnumTypeInfo: Runtime type information of the enumerated type.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteEnvelopeHeader protected
Writes the content of the message to aStream
.
procedure WriteEnvelopeHeader(aEnvelope: TROMessageEnvelope; Dest: TStream)
Parameters:
- aEnvelope: stream
- Dest: free stream
WriteException protected virtual
Writes the exception to stream.
procedure WriteException(Dest: TStream; anException: Exception)
Parameters:
- Dest: stream
- anException: free stream
WriteGuid protected
Writes a GUID value.
procedure WriteGuid(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteInt32 protected
Writes a Integer value.
procedure WriteInt32(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteInt64 protected
Writes a Int64 value.
procedure WriteInt64(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteInteger protected
Writes a Integer value (32 bits or less).
procedure WriteInteger(const aName: string; anOrdType: TOrdType; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- anOrdType: Specifies the exact integer data type to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteLegacyString protected
Writes a legacy string (AnsiString or UTF8String) value.
procedure WriteLegacyString(const aName: string; const Ref: ; ExtraAttributes: TParamAttributes; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ExtraAttributes: specified what string should be written (AnsiString or UTF8String)
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableBoolean protected
Writes a NullableBoolean value.
procedure WriteNullableBoolean(const aName: string; aValue: NullableBoolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableCurrency protected
Writes a NullableCurrency value.
procedure WriteNullableCurrency(const aName: string; aValue: NullableCurrency; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableDateTime protected
Writes a NullableDateTime value.
procedure WriteNullableDateTime(const aName: string; aValue: NullableDateTime; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableDecimal protected
Writes a NullableDecimal value.
procedure WriteNullableDecimal(const aName: string; aValue: NullableDecimal; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableDouble protected
Writes a NullableDouble value.
procedure WriteNullableDouble(const aName: string; aValue: NullableDouble; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableGuid protected
Writes a NullableGuid value.
procedure WriteNullableGuid(const aName: string; aValue: NullableGuid; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableInt64 protected
Writes a NullableInt64 value.
procedure WriteNullableInt64(const aName: string; aValue: NullableInt64; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableInteger protected
Writes a NullableInteger value.
procedure WriteNullableInteger(const aName: string; aValue: NullableInteger; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteStruct protected
Writes a Struct value.
procedure WriteStruct(const aName: string; const Ref: ; aClass: TClass; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- aClass: Class of the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteToStream protected virtual
Writes the content of the message to aStream
.
procedure WriteToStream(Dest: TStream)
Parameters:
- Dest: stream
WriteUnicodeString protected
Writes a WideString value.
procedure WriteUnicodeString(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteVariant protected
Writes a Variant value to the message.
procedure WriteVariant(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteXml protected
Writes a XML value.
procedure WriteXml(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
OnAfterProcessIncomingEnvelopes
Fires after incoming envelopes were processed
property OnAfterProcessIncomingEnvelopes: TStreamOperation read write
delegate: procedure OnAfterProcessIncomingEnvelopes(aStream: TStream)
OnAfterProcessOutgoingEnvelopes
Fires after outgoing envelopes were processed
property OnAfterProcessOutgoingEnvelopes: TStreamOperation read write
delegate: procedure OnAfterProcessOutgoingEnvelopes(aStream: TStream)
OnBeforeProcessIncomingEnvelopes
Fires before incoming envelopes were processed
property OnBeforeProcessIncomingEnvelopes: TStreamOperation read write
delegate: procedure OnBeforeProcessIncomingEnvelopes(aStream: TStream)
OnBeforeProcessOutgoingEnvelopes
Fires before outgoing evvelopes were processed
property OnBeforeProcessOutgoingEnvelopes: TStreamOperation read write
delegate: procedure OnBeforeProcessOutgoingEnvelopes(aStream: TStream)
OnFinalizeMessage
Fires as a message object is getting finalized, to send a new request or response. This happens after the entire message has been generated, all parameters have been added, and the message is ready to be sent off over the network.
property OnFinalizeMessage: TROFinalizeMessageEvent read write
delegate: procedure OnFinalizeMessage(Sender: TROMessage)
OnInitializeMessage
Fires as a message object is getting initialized, to send a new request or response. This happens after the basic message options are set, but before any parameters or data have been stored in the message.
property OnInitializeMessage: TROInitializeMessageEvent read write
delegate: procedure OnInitializeMessage(Sender: TROMessage; const aTransport: IROTransport; const anInterfaceName: string; const aMessageName: string)
OnReadFromStream
Fires before the message is read from the stream that was received over the network. You can use this event to inspect the received stream, or to make manual modifications to it, for example to apply any custom decryption to the message stream before it is processed.
property OnReadFromStream: TStreamOperation read write
delegate: procedure OnReadFromStream(aStream: TStream)
OnReadMessageParameter
Fires after an individual message parameter has been read from the received message. The event call will include information about the name and type of the parameter, as well as an untyped pointer to the data. Use this event handler to inspect or log the parameters that are received. In theory, it is also possible to modify the value parameter using the DataRef pointer, but this should be done with extreme caution.
property OnReadMessageParameter: TROReadMessageParameterEvent read write
delegate: procedure OnReadMessageParameter(Sender: TROMessage; const aName: string; aTypeInfo: PTypeInfo; const DataRef: Pointer; Attributes: TParamAttributes)
OnServerException
Fires if an exception message is received from the server. Use this event handler to provide a single point of interception to be notified of all exceptions raised on the server. In contrast to the TROTransportChannel's OnException event, this event will not fire for communication errors or local exceptions during the processing of a request, but only for exceptions that truly originated on the server.
property OnServerException: TROServerExceptionEvent read write
delegate: procedure OnServerException(anException: Exception; var RaiseException: Boolean)
OnWriteException
Fires after an exception message was written to the stream that will be sent over the network. This event will fire in addition to (and before) the OnWriteToStream event. You can use this event to inspect the exception message or the outgoing stream.
property OnWriteException: TROWriteExceptionEvent read write
delegate: procedure OnWriteException(Sender: TROMessage; aStream: TStream; E: Exception)
OnWriteMessageParameter
Fires before an individual message parameter will be written to the outgoing message. The event call will include information about the name and type of the parameter, as well as an untyped pointer to the data.
property OnWriteMessageParameter: TROWriteMessageParameterEvent read write
delegate: procedure OnWriteMessageParameter(Sender: TROMessage; const aName: string; aTypeInfo: PTypeInfo; const DataRef: Pointer; Attributes: TParamAttributes)
OnWriteToStream
Fires after the message was written to the stream that will be sent over the network. You can use this event to inspect the outgoing stream, or to make manual modifications to it, e.g. to apply any custom encryption to the message stream before it is sent off.
property OnWriteToStream: TStreamOperation read write
delegate: procedure OnWriteToStream(aStream: TStream)