EMA C++ Edition
List of all members | Public Types
refinitiv::ema::access::OmmIProviderConfig Class Reference

OmmIProviderConfig is used to specify configuration and behaviour of Interactive OmmProvider. More...

Inheritance diagram for refinitiv::ema::access::OmmIProviderConfig:
refinitiv::ema::access::OmmProviderConfig

Public Types

enum  AdminControl {
  UserControlEnum ,
  ApiControlEnum
}
 
enum  EncryptionProtocolTypes {
  ENC_NONE = 0x00 ,
  ENC_TLSV1_2 = 0x04 ,
  ENC_TLSV1_3 = 0x08
}
 
enum  OperationModel {
  UserDispatchEnum ,
  ApiDispatchEnum
}
 
- Public Types inherited from refinitiv::ema::access::OmmProviderConfig
enum  ProviderRole {
  NonInteractiveEnum ,
  InteractiveEnum
}
 

Public Member Functions

Constructor
 OmmIProviderConfig ()
  More...
 
 OmmIProviderConfig (const EmaString &path)
  More...
 
Destructor
virtual ~OmmIProviderConfig ()
  More...
 
Accessors
ProviderRole getProviderRole () const
  More...
 
- Public Member Functions inherited from refinitiv::ema::access::OmmProviderConfig
virtual ~OmmProviderConfig ()
  More...
 

Operations

class OmmIProviderImpl
 
class OmmProvider
 
OmmIProviderConfigclear ()
  More...
 
OmmIProviderConfigport (const EmaString &port="14002")
  More...
 
OmmIProviderConfigoperationModel (OperationModel operationModel=ApiDispatchEnum)
  More...
 
OmmIProviderConfigadminControlDirectory (AdminControl control=ApiControlEnum)
  More...
 
OmmIProviderConfigadminControlDictionary (AdminControl control=ApiControlEnum)
  More...
 
OmmIProviderConfigproviderName (const EmaString &providerName)
  More...
 
OmmIProviderConfigconfig (const Data &config)
  More...
 
OmmIProviderConfiglibSslName (const EmaString &libsslName)
  More...
 
OmmIProviderConfiglibCryptoName (const EmaString &libcryptoName)
  More...
 
OmmIProviderConfiglibCurlName (const EmaString &libcurlName)
  More...
 
OmmIProviderConfigsecurityProtocol (int securityProtocol)
  More...
 
OmmIProviderConfigserverCert (const EmaString &serverCert)
  More...
 
OmmIProviderConfigserverPrivateKey (const EmaString &serverPrivateKey)
  More...
 
OmmIProviderConfigcipherSuite (const EmaString &cipherSuite)
  More...
 
OmmIProviderConfigdhParams (const EmaString &dhParams)
  More...
 
OmmIProviderConfigaddAdminMsg (const RefreshMsg &refreshMsg)
  More...
 
OmmIProviderConfigworkerThreadBind (const EmaString &cpuString)
  More...
 
OmmIProviderConfigapiThreadBind (const EmaString &cpuString)
  More...
 
OmmIProviderConfigshouldInitializeCPUIDlib (bool shouldInitCPUIDlib)
  More...
 

Additional Inherited Members

- Protected Member Functions inherited from refinitiv::ema::access::OmmProviderConfig
 OmmProviderConfig ()
  More...
 

Detailed Description

OmmIProviderConfig provides a default basic Interactive OmmProvider configuration.

The default configuration may be modified and or appended by using EmaConfig.xml file or any interface methods of this class.

The EmaConfig.xml file is read in if it is present in the working directory of the application.

Calling any interface methods of OmmIProviderConfig class overrides or appends the existing configuration.

Remarks
All methods in this class are Lock-free Method.
See also
OmmProvider, OmmProviderConfig

Definition at line 44 of file OmmIProviderConfig.h.

Member Enumeration Documentation

◆ AdminControl

Enumerator
UserControlEnum 

specifies user submit directory refresh message

ApiControlEnum 

specifies API sends down directory refresh message based on the configuration

Definition at line 58 of file OmmIProviderConfig.h.

◆ EncryptionProtocolTypes

Enumerator
ENC_NONE 

(0x00) No encryption.

ENC_TLSV1_2 

(0x04) Encryption using TLSv1.2 protocol

ENC_TLSV1_3 

(0x08) Encryption using TLSv1.3 protocol

Definition at line 66 of file OmmIProviderConfig.h.

◆ OperationModel

Enumerator
UserDispatchEnum 

specifies callbacks happen on user thread of control

ApiDispatchEnum 

specifies callbacks happen on API thread of control

Definition at line 50 of file OmmIProviderConfig.h.

Constructor & Destructor Documentation

◆ OmmIProviderConfig() [1/2]

refinitiv::ema::access::OmmIProviderConfig::OmmIProviderConfig ( )

Constructs OmmIProviderConfig

◆ OmmIProviderConfig() [2/2]

refinitiv::ema::access::OmmIProviderConfig::OmmIProviderConfig ( const EmaString path)

Constructs OmmIProviderConfig

Parameters
[in]pathspecifies configuration file name or name of directory containing a file named EmaConfig.xml
Remarks
path is optional. If not specified, application will use EmaConfig.xml (if any) found in current working directory

◆ ~OmmIProviderConfig()

virtual refinitiv::ema::access::OmmIProviderConfig::~OmmIProviderConfig ( )
virtual

Destructor.

Member Function Documentation

◆ addAdminMsg()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::addAdminMsg ( const RefreshMsg refreshMsg)

Specifies an administrative refresh message to override the default administrative refresh. Application may call multiple times prior to initialization. Supports Directory and Dictionary domains only.

Parameters
[in]refreshMsgspecifies administrative domain refresh message
Returns
reference to this object

◆ adminControlDictionary()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::adminControlDictionary ( AdminControl  control = ApiControlEnum)

Specifies whether API or user controls responding to dictionary requests.

Parameters
[in]controlspecifies who responds to dictioanry requests
Returns
reference to this object

◆ adminControlDirectory()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::adminControlDirectory ( AdminControl  control = ApiControlEnum)

Specifies whether API or user controls sending of Directory refresh message.

Parameters
[in]controlspecifies who sends down the directory refresh message
Returns
reference to this object

◆ apiThreadBind()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::apiThreadBind ( const EmaString cpuString)

Specifies the Cpu core to bind for internal EMA thread that dispatch messages. When ApiDispatchEnum set as operational model. Application may call multiple times prior to initialization.

Parameters
[in]cpuStringspecifies the Cpu core in string format (Cpu core id or P:X C:Y T:Z format).
Returns
reference to this object

◆ cipherSuite()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::cipherSuite ( const EmaString cipherSuite)

Optionally Specifies the cipher suites used by the provider. This is an OpenSSL formatted string string.

Parameters
[in]cipherSuitespecifies the ciphers to be used by the provider
Returns
reference to this object

◆ clear()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::clear ( )

Clears the OmmNiProviderConfig and sets all the defaults.

Remarks
Invoking clear() method clears all the values and resets all the defaults
Returns
reference to this object

◆ config()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::config ( const Data config)

Specifies the local configuration, overriding and adding to the current content.

Parameters
[in]configspecifies OmmProvider configuration
Returns
reference to this object

◆ dhParams()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::dhParams ( const EmaString dhParams)

Specifies an optional DH Parameter file to be used with the provder.

Parameters
[in]dhParamsspecifies the DH parameter file
Returns
reference to this object

◆ getProviderRole()

ProviderRole refinitiv::ema::access::OmmIProviderConfig::getProviderRole ( ) const
virtual

Retrieve Provider's role

Returns
role of this OmmIProviderConfig instance

Implements refinitiv::ema::access::OmmProviderConfig.

◆ libCryptoName()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::libCryptoName ( const EmaString libcryptoName)

Specifies the name of the libcrypto.so shared library for Encrypted connections.

Parameters
[in]libcryptoNamespecifies the name of the libcrypto.so shared library
Returns
reference to this object

◆ libCurlName()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::libCurlName ( const EmaString libcurlName)

Specifies the name of the libcurl.so shared library. This is not used server side connections, but this is required on first initialization for both REST and proxy connections.

Parameters
[in]libcryptoNamespecifies the name of the libcrypto.so shared library
Returns
reference to this object

◆ libSslName()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::libSslName ( const EmaString libsslName)

Specifies the name of the libssl.so shared library for Encrypted connections

Parameters
[in]libsslNamespecifies the name of the libssl.so shared library
Returns
reference to this object

◆ operationModel()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::operationModel ( OperationModel  operationModel = ApiDispatchEnum)

Specifies the operation model, overriding the default. The operation model specifies whether to dispatch messages in the user or application thread of control.

Parameters
[in]specifiesthreading and dispatching model used by application
Returns
reference to this object

◆ port()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::port ( const EmaString port = "14002")

Specifies a port. Overrides prior value.

Remarks
Implies usage of TCP IP channel or RSSL_SOCKET.
Parameters
[in]portspecifies server port on which OmmProvider will accept client connections
Returns
reference to this object

◆ providerName()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::providerName ( const EmaString providerName)

Create an OmmProvider with providerName. This name identifies configuration section to be used by OmmProvider instance.

Parameters
[in]providerNamespecifies name of OmmProvider instance
Returns
reference to this object

◆ securityProtocol()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::securityProtocol ( int  securityProtocol)

Specifies the cryptographic protocols to be used for an Encrypted connection on a Linux operating system, of values TLSv1.2. The highest value of TLS will be selected by the Rssl API first, then it will roll back if the encryption handshake fails. The protocol defaults to TLSv1.2 and TLSv1.3. Use OmmNiProviderConfig::EncryptionProtocolTypes flags to set allowed protocols.

Parameters
[in]securityProtocolspecifies a cryptopgraphic protocol.
Returns
reference to this object

◆ serverCert()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::serverCert ( const EmaString serverCert)

Specifies the location of the server certificate file for encrypted providers.

Parameters
[in]serverCertspecifies the name of the server certificate file
Returns
reference to this object

◆ serverPrivateKey()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::serverPrivateKey ( const EmaString serverPrivateKey)

Specifies the location of the private key file for encrypted providers.

Parameters
[in]serverPrivateKeyspecifies the name of the private key file
Returns
reference to this object

◆ shouldInitializeCPUIDlib()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::shouldInitializeCPUIDlib ( bool  shouldInitCPUIDlib)

Specifies should ETA initialize CpuID library. It will analyze CPU topology. Application may call multiple times prior to initialization.

Parameters
[in]shouldInitCPUIDlibtrue ETA should initialize CpuID library; otherwise ETA will not initialize CpuID library.
Returns
reference to this object

◆ workerThreadBind()

OmmIProviderConfig& refinitiv::ema::access::OmmIProviderConfig::workerThreadBind ( const EmaString cpuString)

Specifies the Cpu core to bind for Reactor Worker thread. Application may call multiple times prior to initialization.

Parameters
[in]cpuStringspecifies the Cpu core in string format (Cpu core id or P:X C:Y T:Z format).
Returns
reference to this object