OmmConsumerConfig is used to modify configuration and behavior of OmmConsumer. More...
Public Types | |
enum | EncryptionProtocolTypes { ENC_NONE = 0x00 , ENC_TLSV1_2 = 0x04 , ENC_TLSV1_3 = 0x08 } |
enum | OperationModel { UserDispatchEnum , ApiDispatchEnum } |
Public Member Functions | |
Constructor | |
OmmConsumerConfig () | |
More... | |
OmmConsumerConfig (const EmaString &configPath) | |
More... | |
Destructor | |
virtual | ~OmmConsumerConfig () |
More... | |
OmmConsumerConfig provides a default basic OmmConsumer 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 OmmConsumerConfig class overrides or appends the existing configuration.
Definition at line 48 of file OmmConsumerConfig.h.
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 62 of file OmmConsumerConfig.h.
Enumerator | |
---|---|
UserDispatchEnum | specifies callbacks happen on user thread of control |
ApiDispatchEnum | specifies callbacks happen on API thread of control |
Definition at line 54 of file OmmConsumerConfig.h.
refinitiv::ema::access::OmmConsumerConfig::OmmConsumerConfig | ( | ) |
Create an OmmConsumerConfig that enables customization of default implicit administrative domains and local configuration.
refinitiv::ema::access::OmmConsumerConfig::OmmConsumerConfig | ( | const EmaString & | configPath | ) |
Create an OmmConsumerConfig that enables customization of default implicit administrative domains and local configuration.
[in] | configPath | configPath configuration file name or name of directory containing a file named EmaConfig.xml |
|
virtual |
Destructor.
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::addAdminMsg | ( | const ReqMsg & | reqMsg | ) |
Specifies an administrative request message to override the default administrative request. Application may call multiple times prior to initialization. Supported domains include Login, Directory, and Dictionary.
[in] | reqMsg | specifies administrative domain request message |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::addLoginMsgCredential | ( | const ReqMsg & | reqMsg, |
const EmaString & | channelList | ||
) |
Specifies a set of Login credentials to be used with a specific set of channels. Application may call this multiple times prior to initialization to set multiple sets of credentials.
[in] | ReqMsg | Login domain request message. This message must follow the RDM Login domain. |
[in] | channelList | Comma separated list of channel names |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::addLoginMsgCredential | ( | const ReqMsg & | reqMsg, |
const EmaString & | channelList, | ||
const OmmLoginCredentialConsumerClient & | client | ||
) |
Specifies a set of Login credentials to be used with a specific set of channels. Application may call this multiple times prior to initialization to set multiple sets of credentials.
[in] | ReqMsg | Login domain request message. This message must follow the RDM Login domain. |
[in] | channelList | Comma separated list of channel names |
[in] | client | callback client associated with the above request message |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::addLoginMsgCredential | ( | const ReqMsg & | reqMsg, |
const EmaString & | channelList, | ||
const OmmLoginCredentialConsumerClient & | client, | ||
void * | closure | ||
) |
Specifies a set of Login credentials to be used with a specific set of channels. Application may call this multiple times prior to initialization to set multiple sets of credentials.
[in] | ReqMsg | Login domain request message. This message must follow the RDM Login domain. |
[in] | channelList | Comma separated list of channel names |
[in] | client | callback client associated with the above request message |
[in] | closure | user specified closure |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::addOAuth2Credential | ( | const OAuth2Credential & | credential | ) |
Specifies a set of OAuth2 credentials to be used with a specific set of channels.
Application may call this multiple times prior to initialization to set multiple sets of credentials.
[in] | credential | specifies oAuth2 credentials |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::addOAuth2Credential | ( | const OAuth2Credential & | credential, |
const OmmOAuth2ConsumerClient & | client | ||
) |
Specifies a set of OAuth2 credentials to be used with a specific set of channels. Application may call this multiple times prior to initialization to set multiple sets of credentials.
[in] | credential | specifies oAuth2 credentials |
[in] | client | callback client associated with the above set of credentials |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::addOAuth2Credential | ( | const OAuth2Credential & | credential, |
const OmmOAuth2ConsumerClient & | client, | ||
void * | closure | ||
) |
Specifies a set of OAuth2 credentials to be used with a specific set of channels. Application may call this multiple times prior to initialization to set multiple sets of credentials.
[in] | credential | specifies oAuth2 credentials |
[in] | client | callback client associated with the above set of credentials |
[in] | closure | user specified closure |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::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.
[in] | cpuString | specifies the Cpu core in string format (Cpu core id or P:X C:Y T:Z format). |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::applicationId | ( | const EmaString & | applicationId | ) |
Specifies the authorization application identifier. Must be unique for each application. Range 257 to 65535 is available for site-specific use. Range 1 to 256 is reserved.
[in] | applicationId | specifies respective login request attribute |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::audience | ( | const EmaString & | audience = "https://login.ciam.refinitiv.com/as/token.oauth2" | ) |
Specifies the audience claim for the JWT. Optional, used for V2 Client Credentials with JWT.
[in] | audience | specifies the client audience claim |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::channelType | ( | EmaConfig::ConnectionTypeEnum | channelType | ) |
Specifies connection type. Overrides prior value
[in] | specifies | connection type used by application. Connection type defined in EmaConfig::ConnectionTypeEnum |
OmmInvalidUsageException | if use this API with WarmStandby channel configuration. |
OmmInvalidUsageException | if channelType is not valid. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::clear | ( | ) |
Clears the OmmConsumerConfig and sets all the defaults.
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::clientId | ( | const EmaString & | clientId | ) |
Specifies the clientID used for RDP token service. Mandatory, used to specify Application ID obtained from App Generator for V1 oAuth Password Credentials, or to specify Service Account username for V2 Client Credentials and V2 Client Credentials with JWT Logins.
[in] | clientId | specifies the clientId. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::clientJWK | ( | const EmaString & | clientJWK | ) |
Specifies the JWK formatted private key used to create the JWT. The JWT is used to authenticate with the RDP token service. Mandatory for V2 logins with client JWT logins
[in] | clientJWK | specifies the JWK formatted private key |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::clientSecret | ( | const EmaString & | clientSecret | ) |
Specifies the clientSecret, also known as the Service Account password, used to authenticate with RDP token service. Mandatory for V2 Client Credentials Logins and used in conjunction with clientID.
[in] | clientSecret | specifies a client secret. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::config | ( | const Data & | config | ) |
Specifies the local configuration, overriding and adding to the current content.
[in] | config | specifies OmmConsumer configuration |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::consumerName | ( | const EmaString & | consumerName | ) |
Create an OmmConsumer with consumer name. The OmmConsumer enables functionality that includes subscribing, posting and distributing generic messages. This name identifies configuration section to be used by OmmConsumer instance.
[in] | consumerName | specifies name of OmmConsumer instance |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::dataDictionary | ( | const refinitiv::ema::rdm::DataDictionary & | dataDictionary, |
bool | shouldCopyIntoAPI = false |
||
) |
Specifies the DataDictionary object. Overrides DataDictionary object that is provided via EmaConfig.xml or Programmatic configure.
[in] | dataDictionary | specifies the DataDictionary object. |
[in] | shouldCopyIntoAPI | specifies whether to copy dataDictionary into API or pass it in as a reference. |
OmmInvalidUsageException | if application passes not fully loaded DataDictionary object |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::encryptedProtocolType | ( | EmaConfig::EncryptedProtocolTypeEnum | encProtocolType | ) |
Specifies encrypted protocol type. Overrides prior value
[in] | specifies | encrypted protocol type used by application. Encrypted protocol type defined in EmaConfig::EncryptedProtocolTypeEnum |
OmmInvalidUsageException | if use this API with WarmStandby channel configuration. |
OmmInvalidUsageException | if use this API with not encoded channel type. |
OmmInvalidUsageException | if encProtocolType is not valid. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::host | ( | const EmaString & | host = "localhost:14002" | ) |
Specifies a hostname and port. Overrides prior value.
[in] | host | specifies server and port to which OmmConsumer will connect |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::libcurlName | ( | const EmaString & | libcurlName | ) |
Specifies the name of the lbicurl.so shared library for connecting through HTTP proxies. This is supported on Socket connections and Encrypted connections with Socket encrypted protocol.
[in] | libcurlName | specifies the name of the libcurl.so shared library |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::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.
[in] | specifies | threading and dispatching model used by application |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::password | ( | const EmaString & | password | ) |
Specifies the password. Mandatory for V1 oAuth Password Credentials logins with session management turned on. Overrides a value specified in Login domain via the addAdminMsg(..) method.
[in] | password | specifies respective login request attribute |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::position | ( | const EmaString & | position | ) |
Specifies the position. Overrides a value specified in Login domain via the addAdminMsg(..) method.
[in] | position | specifies respective login request attribute |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::proxyDomain | ( | const EmaString & | proxyDomain | ) |
Specifies the domain of the user to authenticate. Needed for NTLM or for Negotiate/Kerberos or for Kerberos authentication protocols.
For Negotiate/Kerberos or for Kerberos authentication protocols, proxyDomain should be the same as the domain in the 'realms' and 'domain_realm' sections of the Kerberos configuration file.
[in] | proxyDomain | specifies the domain used for tunneling connection. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::proxyPasswd | ( | const EmaString & | proxyPasswd | ) |
Specifies the passwd to authenticate. Needed for all authentication protocols.
[in] | proxyPasswd | specifies password used for tunneling connection. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::proxyUserName | ( | const EmaString & | proxyUserName | ) |
Specifies the user name to authenticate. Needed for all authentication protocols.
[in] | proxyUserName | specifies user name used for tunneling connection. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::restLoggingCallback | ( | OmmRestLoggingClient & | ommRestLoggingClient, |
void * | closure = (void *) 0 |
||
) |
Specifies the user callback client to receive REST logging messages.
[in] | ommRestLoggingClient | specifies the user callback client used for receiving REST logging messages. |
[in] | closure | specifies application defined identification value. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::restProxyDomain | ( | const EmaString & | restProxyDomain | ) |
Specifies the domain of the user to authenticate to the proxy server for Rest requests: service discovery and auth token service. Needed for NTLM or for Negotiate/Kerberos or for Kerberos authentication protocols.
For Negotiate/Kerberos or for Kerberos authentication protocols, restProxyDomain should be the same as the domain in the 'realms' and 'domain_realm' sections of the Kerberos configuration file.
[in] | restProxyDomain | specifies the domain used for the proxy server authentication for Rest requests. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::restProxyHostName | ( | const EmaString & | restProxyHostName | ) |
Specifies the address or host name of the proxy server for Rest requests: service discovery and auth token service.
[in] | restProxyHostName | specifies the address or host name of the proxy server for Rest requests. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::restProxyPasswd | ( | const EmaString & | restProxyPasswd | ) |
Specifies the passwd to authenticate to the proxy server for Rest requests. Needed for all authentication protocols.
[in] | restProxyPasswd | specifies password for the proxy server authentication for Rest requests. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::restProxyPort | ( | const EmaString & | restProxyPort | ) |
Specifies the port number of the proxy server for Rest requests: service discovery and auth token service.
[in] | restProxyPort | specifies the port number of the proxy server for Rest requests. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::restProxyUserName | ( | const EmaString & | restProxyUserName | ) |
Specifies the user name to authenticate to the proxy server for Rest requests. Needed for all authentication protocols.
[in] | restProxyUserName | specifies user name for the proxy server authentication for Rest requests. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::serviceDiscoveryUrl | ( | const EmaString & | serviceDiscoveryUrl = "https://api.refinitiv.com/streaming/pricing/v1/" | ) |
Specifies an URL to override the default for the RDP service discovery to get global endpoints
[in] | serviceDiscoveryUrl | specifies an URL for RDP service discovery. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::shouldInitializeCPUIDlib | ( | bool | shouldInitCPUIDlib | ) |
Specifies should ETA initialize CpuID library. It will analyze CPU topology. Application may call multiple times prior to initialization.
[in] | shouldInitCPUIDlib | true ETA should initialize CpuID library; otherwise ETA will not initialize CpuID library. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::sslCAStore | ( | const EmaString & | sslCAStore | ) |
Specifies the path to an OpenSSL Certificate Authority store.
[in] | sslCAStore | specifies the file or directory where the CA store is located. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::takeExclusiveSignOnControl | ( | bool | takeExclusiveSignOnControl = true | ) |
Specifies the take exclusive sign on control value. If set to true, other applications using the same credentials will be force signed-out. Optional and only used for V1 oAuth Password Credentials logins.
[in] | takeExclusiveSignOnControl | the exclusive sign on control. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::tokenScope | ( | const EmaString & | tokenScope = "trapi.streaming.pricing.read" | ) |
Specifies the token scope to limit the scope of generated token from the token service. Optional.
[in] | tokenScope | specifies a token scope |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::tokenServiceUrl | ( | const EmaString & | tokenServiceUrl = "https://api.refinitiv.com/auth/oauth2/v1/token" | ) |
Specifies an URL to override the default for token service V1 Password Credentials to perform authentication to get access and refresh tokens.
[in] | tokenServiceUrl | specifies an URL for token service. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::tokenServiceUrlV1 | ( | const EmaString & | tokenServiceUrl = "https://api.refinitiv.com/auth/oauth2/v1/token" | ) |
Specifies an URL to override the default for token service V1 Password Credentials to perform authentication to get access and refresh tokens.
[in] | tokenServiceUrl | specifies an URL for token service. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::tokenServiceUrlV2 | ( | const EmaString & | tokenServiceUrl = "https://api.refinitiv.com/auth/oauth2/v2/token" | ) |
Specifies an URL to override the default for token service V2 Client Credentials to perform authentication to get access and refresh tokens.
[in] | tokenServiceUrl | specifies an URL for token service. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::tunnelingLibCryptoName | ( | const EmaString & | libcryptoName | ) |
Specifies the name of the libcrypto.so shared library for Encrypted connections.
[in] | libsslName | specifies the name of the libcrypto.so shared library |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::tunnelingLibSslName | ( | const EmaString & | libsslName | ) |
Specifies the name of the libssl.so shared library for Encrypted connections.
[in] | libsslName | specifies the name of the libssl.so shared library |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::tunnelingObjectName | ( | const EmaString & | objectName | ) |
Specifies the object name to pass along with the underlying URL in HTTP and HTTPS connection messages.
[in] | objectName | specifies the object name. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::tunnelingProxyHostName | ( | const EmaString & | proxyHostName | ) |
Specifies the address or host name of the proxy server to connect to for an HTTP or HTTPS connection.
[in] | proxyHostName | specifies the address or host name of the proxy server for tunneling connection. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::tunnelingProxyPort | ( | const EmaString & | proxyPort | ) |
Specifies the port number of the proxy server to connect to for an HTTP or HTTPS connection.
[in] | proxyPort | specifies the port number of the proxy server for tunneling connection. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::tunnelingSecurityProtocol | ( | 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 OmmConsumerConfig::EncryptionProtocolTypes flags to set allowed protocols.
[in] | securityProtocol | specifies a cryptopgraphic protocol. |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::username | ( | const EmaString & | username | ) |
Specifies the username. Mandatory for V1 oAuth Password Credentials logins with session management turned on. Overrides a value specified in Login domain via the addAdminMsg(..) method.
[in] | username | specifies name used on login request |
OmmConsumerConfig& refinitiv::ema::access::OmmConsumerConfig::workerThreadBind | ( | const EmaString & | cpuString | ) |
Specifies the Cpu core to bind for Reactor Worker thread. Application may call multiple times prior to initialization.
[in] | cpuString | specifies the Cpu core in string format (Cpu core id or P:X C:Y T:Z format). |
![]() |
![]() |
|