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


 

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:


Assign  override

Copies the contents of another, similar object.

procedure Assign(Source: TPersistent)

Parameters:

  • Source: Instance whose properties will be copied

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:


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:


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:


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

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

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

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:


Assign  override

Copies the contents of another, similar object.

procedure Assign(Source: TPersistent)

Parameters:

  • Source: Instance whose properties will be copied

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:


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:


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:


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.

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)