OnixS C++ FIX Engine  4.12.0
API Documentation
ISbeCustomCoderLibrary Class Reference

#include <OnixS/FIXEngine/FIX/SbeCustomization.h>

Public Member Functions

virtual ~ISbeCustomCoderLibrary () ONIXS_FIXENGINE_DEFAULT
 
Attach and detach the library to a coder

These methods used to inform the library about attaching and detaching of particular coders.

virtual void attach (ONIXS_FIXENGINE_UNUSED CoderOwnerId owner)
 
virtual void detach (ONIXS_FIXENGINE_UNUSED CoderOwnerId owner)
 
The control coding without user-defined codecs

The method allows to control the coding without creating of a custom coder.

virtual void queryCodingControl (ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldMetaData field, ONIXS_FIXENGINE_UNUSED SbeFieldCodingSettings settings)
 
Custom decoders

These methods are used to create custom decoders called by the Decoder or EventBasedDecoder.

virtual ISbeFieldDecoderqueryDecoder (ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldMetaData field)
 
virtual ISbeGroupDimensionDecoderqueryGroupDimensionDecoder (ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldSetMetaData field)
 
virtual ISbeCompositeDecoderqueryDecoder (ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeTypeMetaData composite)
 
Custom encoders

These methods are used to create custom encoders by the Encoder.

virtual ISbeFieldEncoderqueryEncoder (ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldMetaData field)
 
virtual ISbeGroupDimensionEncoderqueryGroupDimensionEncoder (ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeFieldSetMetaData group)
 
virtual ISbeCompositeEncoderqueryEncoder (ONIXS_FIXENGINE_UNUSED CoderOwnerId owner, ONIXS_FIXENGINE_UNUSED SbeTypeMetaData composite)
 

Detailed Description

Definition at line 572 of file SbeCustomization.h.

Constructor & Destructor Documentation

virtual ~ISbeCustomCoderLibrary ( )
virtual

The destructor.

Member Function Documentation

virtual void attach ( ONIXS_FIXENGINE_UNUSED CoderOwnerId  owner)
inlinevirtual

Attach the SBE coder to the library.

This method called one time during the initialization of the SBE coder or decoder that will use this library. Exactly the same 'owner' parameter will be used for subsequent calls to create custom codecs or request for the management.

Parameters
ownerThe identifier of the attached coder.

Definition at line 589 of file SbeCustomization.h.

virtual void detach ( ONIXS_FIXENGINE_UNUSED CoderOwnerId  owner)
inlinevirtual

Detaches the coder from the library.

This method is called just before the destruction of the encoder or decoder that has been requested it for custom coders. The library can permanently remove codecs that were created for the given owner.

Parameters
ownerThe pointer to the object that owns removed coders.

Definition at line 597 of file SbeCustomization.h.

virtual void queryCodingControl ( ONIXS_FIXENGINE_UNUSED CoderOwnerId  owner,
ONIXS_FIXENGINE_UNUSED SbeFieldMetaData  field,
ONIXS_FIXENGINE_UNUSED SbeFieldCodingSettings  settings 
)
inlinevirtual

Query for manage modes of the coding.

This method is used to query the user code to manage modes of the coding that can be managed via the SbeFieldCodingSettings object. The method called once for each FIX field.

Parameters
ownerThe owner of the request.
fieldThe field which coding modes will be controlled.
settingsThe object that allows to control coding modes.

Definition at line 615 of file SbeCustomization.h.

virtual ISbeFieldDecoder* queryDecoder ( ONIXS_FIXENGINE_UNUSED CoderOwnerId  owner,
ONIXS_FIXENGINE_UNUSED SbeFieldMetaData  field 
)
inlinevirtual

Request for the custom decoder.

Requests for the custom decoder that must be used to decode the particular field. The method should return a interface to the decoder instance or nullptr if the custom decoder should not be used.

The main Decoder does not control life-cycle of the custom decoder and never deletes it directly. The pointer to the custom decoder must remain valid during all the time when the main Decoder appears. It is possible to delete the custom decoder only when the library receives the removeCoder callback.

Parameters
ownerThe object that owns the request.
fieldThe field that should be addressed by the custom decoder.

Definition at line 636 of file SbeCustomization.h.

virtual ISbeCompositeDecoder* queryDecoder ( ONIXS_FIXENGINE_UNUSED CoderOwnerId  owner,
ONIXS_FIXENGINE_UNUSED SbeTypeMetaData  composite 
)
inlinevirtual

Request for the custom decoder of the separate composite.

Requests for the decoder of such composite that never used within the message as a field. For now there is a single composite: the message header.

Parameters
ownerThe object that owns the request.
compositeThe composite type that should be addressed by the custom decoder.

Definition at line 657 of file SbeCustomization.h.

virtual ISbeFieldEncoder* queryEncoder ( ONIXS_FIXENGINE_UNUSED CoderOwnerId  owner,
ONIXS_FIXENGINE_UNUSED SbeFieldMetaData  field 
)
inlinevirtual

Request for the custom encoder.

Requests for the custom encoder that must be used to encode the particular field. The method should return an interface to the encoder instance or nullptr if the custom encoder should not be used.

The main Encoder does not control life-cycle of the custom encoder and never deletes it directly. The pointer to the custom encoder must remain valid during all the time when the main Encoder appears. It is possible to delete the custom encoder only when the library receives the detach callback.

Parameters
ownerThe object that owns the request.
fieldThe field that should be addressed by the custom encoder.

Definition at line 675 of file SbeCustomization.h.

virtual ISbeCompositeEncoder* queryEncoder ( ONIXS_FIXENGINE_UNUSED CoderOwnerId  owner,
ONIXS_FIXENGINE_UNUSED SbeTypeMetaData  composite 
)
inlinevirtual

Request for the custom encoder of the separate composite.

Requests for the encoder of such composite that never used within the message as a field. For now there is a single composite: the message header.

Parameters
ownerThe object that owns the request.
compositeThe composite type that should be addressed by the custom encoder.

Definition at line 695 of file SbeCustomization.h.

virtual ISbeGroupDimensionDecoder* queryGroupDimensionDecoder ( ONIXS_FIXENGINE_UNUSED CoderOwnerId  owner,
ONIXS_FIXENGINE_UNUSED SbeFieldSetMetaData  field 
)
inlinevirtual

Request for the custom decoder of the group dimension.

Requests for the custom decoder that must be used to decode the composite that keeps the group size. The method should return an interface to the decoder instance or nullptr if the custom decoder should not be used.

The main Decoder does not control life-cycle of the custom decoder and never deletes it directly. The pointer to the custom decoder must remain valid during all the time when the main Decoder appears. It is possible to delete the custom decoder only when the library receives the removeCoder callback.

Parameters
ownerThe object that owns the request.
fieldThe field that should be addressed by the custom decoder.

Definition at line 649 of file SbeCustomization.h.

virtual ISbeGroupDimensionEncoder* queryGroupDimensionEncoder ( ONIXS_FIXENGINE_UNUSED CoderOwnerId  owner,
ONIXS_FIXENGINE_UNUSED SbeFieldSetMetaData  group 
)
inlinevirtual

Request for the custom encoder of the group dimension.

Requests for the custom encoder that must be used to decode composite that keeps the group size. The method should return an interface to the encoder instance or nullptr if the custom encoder should not be used.

The main Encoder does not control life-cycle of the custom encoder and never deletes it directly. The pointer to the custom encoder must remain valid during all the time when the main Encoder appears. It is possible to delete the custom encoder only when the library receives the detach callback.

Parameters
ownerThe object that owns the request.
groupThe group that should be addressed by the custom encoder.

Definition at line 687 of file SbeCustomization.h.


The documentation for this class was generated from the following file: