EMA C++ Edition
OmmConsumerConfig.h
Go to the documentation of this file.
1/*|-----------------------------------------------------------------------------
2 *| This source code is provided under the Apache 2.0 license
3 *| and is provided AS IS with no warranty or guarantee of fit for purpose.
4 *| See the project's LICENSE.md for details.
5 *| Copyright (C) 2019-2024 LSEG. All rights reserved. --
6 *|-----------------------------------------------------------------------------
7 */
8
9#ifndef __refinitiv_ema_access_OmmConsumerConfig_h
10#define __refinitiv_ema_access_OmmConsumerConfig_h
11
32#include "DataDictionary.h"
34
35namespace refinitiv {
36
37namespace ema {
38
39namespace access {
40
41class Data;
42class ReqMsg;
43class OmmConsumerConfigImpl;
44class OAuth2Credential;
45class OmmOAuth2ConsumerClient;
46class OmmRestLoggingClient;
47
49{
50public :
51
55 {
57 ApiDispatchEnum
58 };
59
63 {
64 ENC_NONE = 0x00,
65 ENC_TLSV1_2 = 0x04,
66 ENC_TLSV1_3 = 0x08
67 };
68
70
71
75
77
78
82 OmmConsumerConfig( const EmaString& configPath );
84
86
87
91
93
94
99
105
111
117
123 OmmConsumerConfig& applicationId( const EmaString& applicationId );
124
130
135 OmmConsumerConfig& clientSecret( const EmaString& clientSecret );
136
142
147 OmmConsumerConfig& audience(const EmaString& audience = "https://login.ciam.refinitiv.com/as/token.oauth2");
148
153 OmmConsumerConfig& tokenScope( const EmaString& tokenScope = "trapi.streaming.pricing.read" );
154
159 OmmConsumerConfig& takeExclusiveSignOnControl( bool takeExclusiveSignOnControl = true );
160
165 OmmConsumerConfig& tokenServiceUrl( const EmaString& tokenServiceUrl = "https://api.refinitiv.com/auth/oauth2/v1/token" );
166
171 OmmConsumerConfig& tokenServiceUrlV1(const EmaString& tokenServiceUrl = "https://api.refinitiv.com/auth/oauth2/v1/token");
172
177 OmmConsumerConfig& tokenServiceUrlV2(const EmaString& tokenServiceUrl = "https://api.refinitiv.com/auth/oauth2/v2/token");
178
183 OmmConsumerConfig& serviceDiscoveryUrl( const EmaString& serviceDiscoveryUrl = "https://api.refinitiv.com/streaming/pricing/v1/" );
184
196 OmmConsumerConfig& host( const EmaString& host = "localhost:14002" );
197
205
214
220 OmmConsumerConfig& operationModel( OperationModel operationModel = ApiDispatchEnum );
221
228 OmmConsumerConfig& consumerName( const EmaString& consumerName );
229
236
243
253
260
266
272
279
285
291
303
310
315 OmmConsumerConfig& config( const Data& config );
316
324
325
332
340
348 OmmConsumerConfig& addOAuth2Credential(const OAuth2Credential& credential, const OmmOAuth2ConsumerClient& client, void* closure);
349
356 OmmConsumerConfig& addLoginMsgCredential(const ReqMsg& reqMsg, const EmaString& channelList);
357
366
375 OmmConsumerConfig& addLoginMsgCredential(const ReqMsg& reqMsg, const EmaString& channelList, const OmmLoginCredentialConsumerClient& client, void* closure);
376
377
383 OmmConsumerConfig& restLoggingCallback( OmmRestLoggingClient& ommRestLoggingClient, void* closure = (void*)0 );
384
391
399
406
415 OmmConsumerConfig& dataDictionary(const refinitiv::ema::rdm::DataDictionary& dataDictionary, bool shouldCopyIntoAPI = false);
416
422
428
434
440
453
454private :
455
456 friend class OmmConsumerImpl;
457 friend class OmmConsumer;
458
459 OmmConsumerConfigImpl* getConfigImpl() const;
460
461 OmmConsumerConfigImpl* _pImpl;
462
464 OmmConsumerConfig& operator=( const OmmConsumerConfig& );
465};
466
467}
468
469}
470
471}
472
473#endif // __refinitiv_ema_access_OmmConsumerConfig_h
#define EMA_ACCESS_API
Definition: Common.h:95
*|--------------------------------------------------------------------------—
Definition: AckMsg.h:62
The access namespace contains all interfaces and definitions specified for use with the EMA Access pa...
The ema namespace contains all interfaces and definitions specified for use with EMA.
Data class is a parent abstract class defining common interfaces for all Data type classes.
Definition: Data.h:39
EmaString class is a container of a null terminated Ascii character string.
Definition: EmaString.h:57
OAuth2Credential class is used with OmmConsumer::SubmitOAuthCredentialRenewal to supply EMA with chan...
OmmConsumer class encapsulates functionality of an Omm consuming type application.
Definition: OmmConsumer.h:142
OmmConsumerConfig is used to modify configuration and behavior of OmmConsumer.
OmmConsumerConfig & restProxyUserName(const EmaString &restProxyUserName)
OmmConsumerConfig & tokenServiceUrl(const EmaString &tokenServiceUrl="https://api.refinitiv.com/auth/oauth2/v1/token")
OmmConsumerConfig & clientSecret(const EmaString &clientSecret)
OmmConsumerConfig & shouldInitializeCPUIDlib(bool shouldInitCPUIDlib)
OmmConsumerConfig & restProxyHostName(const EmaString &restProxyHostName)
OmmConsumerConfig & apiThreadBind(const EmaString &cpuString)
OmmConsumerConfig & channelType(EmaConfig::ConnectionTypeEnum channelType)
OmmConsumerConfig & proxyDomain(const EmaString &proxyDomain)
OmmConsumerConfig & sslCAStore(const EmaString &sslCAStore)
OmmConsumerConfig & tunnelingProxyHostName(const EmaString &proxyHostName)
OmmConsumerConfig & clientId(const EmaString &clientId)
OmmConsumerConfig & restProxyPasswd(const EmaString &restProxyPasswd)
OmmConsumerConfig & tunnelingObjectName(const EmaString &objectName)
OmmConsumerConfig & tunnelingLibCryptoName(const EmaString &libcryptoName)
OmmConsumerConfig & username(const EmaString &username)
OmmConsumerConfig & tokenServiceUrlV1(const EmaString &tokenServiceUrl="https://api.refinitiv.com/auth/oauth2/v1/token")
OmmConsumerConfig & tokenServiceUrlV2(const EmaString &tokenServiceUrl="https://api.refinitiv.com/auth/oauth2/v2/token")
OmmConsumerConfig & restProxyPort(const EmaString &restProxyPort)
OmmConsumerConfig & takeExclusiveSignOnControl(bool takeExclusiveSignOnControl=true)
OmmConsumerConfig & restLoggingCallback(OmmRestLoggingClient &ommRestLoggingClient, void *closure=(void *) 0)
OmmConsumerConfig & proxyUserName(const EmaString &proxyUserName)
OmmConsumerConfig(const EmaString &configPath)
OmmConsumerConfig & addAdminMsg(const ReqMsg &reqMsg)
OmmConsumerConfig & proxyPasswd(const EmaString &proxyPasswd)
OmmConsumerConfig & config(const Data &config)
OmmConsumerConfig & clientJWK(const EmaString &clientJWK)
OmmConsumerConfig & consumerName(const EmaString &consumerName)
OmmConsumerConfig & addLoginMsgCredential(const ReqMsg &reqMsg, const EmaString &channelList, const OmmLoginCredentialConsumerClient &client, void *closure)
OmmConsumerConfig & addLoginMsgCredential(const ReqMsg &reqMsg, const EmaString &channelList, const OmmLoginCredentialConsumerClient &client)
OmmConsumerConfig & operationModel(OperationModel operationModel=ApiDispatchEnum)
OmmConsumerConfig & dataDictionary(const refinitiv::ema::rdm::DataDictionary &dataDictionary, bool shouldCopyIntoAPI=false)
OmmConsumerConfig & addOAuth2Credential(const OAuth2Credential &credential, const OmmOAuth2ConsumerClient &client, void *closure)
OmmConsumerConfig & tunnelingProxyPort(const EmaString &proxyPort)
OmmConsumerConfig & serviceDiscoveryUrl(const EmaString &serviceDiscoveryUrl="https://api.refinitiv.com/streaming/pricing/v1/")
OmmConsumerConfig & host(const EmaString &host="localhost:14002")
OmmConsumerConfig & position(const EmaString &position)
OmmConsumerConfig & audience(const EmaString &audience="https://login.ciam.refinitiv.com/as/token.oauth2")
OmmConsumerConfig & applicationId(const EmaString &applicationId)
OmmConsumerConfig & encryptedProtocolType(EmaConfig::EncryptedProtocolTypeEnum encProtocolType)
OmmConsumerConfig & libcurlName(const EmaString &libcurlName)
OmmConsumerConfig & restProxyDomain(const EmaString &restProxyDomain)
OmmConsumerConfig & addLoginMsgCredential(const ReqMsg &reqMsg, const EmaString &channelList)
OmmConsumerConfig & password(const EmaString &password)
OmmConsumerConfig & tokenScope(const EmaString &tokenScope="trapi.streaming.pricing.read")
OmmConsumerConfig & workerThreadBind(const EmaString &cpuString)
OmmConsumerConfig & addOAuth2Credential(const OAuth2Credential &credential)
OmmConsumerConfig & tunnelingLibSslName(const EmaString &libsslName)
OmmConsumerConfig & addOAuth2Credential(const OAuth2Credential &credential, const OmmOAuth2ConsumerClient &client)
OmmConsumerConfig & tunnelingSecurityProtocol(int securityProtocol)
OmmLoginCredentialConsumerClient class provides callback interfaces for OAuth interactions.
OmmOAuth2ConsumerClient class provides callback interfaces for OAuth interactions.
OmmRestLoggingClient class provides callback mechanism to receive REST logging messages.
ReqMsg allows consumer application to express its interest in an item.
Definition: ReqMsg.h:60