EMA C++ Edition
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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-2020 Refinitiv. All rights reserved. --
6  *|-----------------------------------------------------------------------------
7  */
8 
9 #ifndef __thomsonreuters_ema_access_OmmConsumerConfig_h
10 #define __thomsonreuters_ema_access_OmmConsumerConfig_h
11 
31 
32 namespace thomsonreuters {
33 
34 namespace ema {
35 
36 namespace access {
37 
38 class Data;
39 class ReqMsg;
40 class OmmConsumerConfigImpl;
41 
43 {
44 public :
45 
49  {
51  ApiDispatchEnum
52  };
53 
55  {
56  ENC_NONE = 0x00,
57  ENC_TLSV1_2 = 0x04
58  };
59 
61 
62 
66 
68 
69 
73  OmmConsumerConfig(const EmaString & path);
75 
77 
78 
80  virtual ~OmmConsumerConfig();
82 
84 
85 
89  OmmConsumerConfig& clear();
90 
95  OmmConsumerConfig& username( const EmaString& username );
96 
101  OmmConsumerConfig& password( const EmaString& password );
102 
107  OmmConsumerConfig& position( const EmaString& position );
108 
114  OmmConsumerConfig& applicationId( const EmaString& applicationId );
115 
120  OmmConsumerConfig& clientId( const EmaString& clientId );
121 
126  OmmConsumerConfig& clientSecret( const EmaString& clientSecret );
127 
132  OmmConsumerConfig& tokenScope( const EmaString& tokenScope = "trapi.streaming.pricing.read" );
133 
138  OmmConsumerConfig& takeExclusiveSignOnControl( bool takeExclusiveSignOnControl = true );
139 
144  OmmConsumerConfig& tokenServiceUrl( const EmaString& tokenServiceUrl = "https://api.refinitiv.com/auth/oauth2/v1/token" );
145 
150  OmmConsumerConfig& serviceDiscoveryUrl( const EmaString& serviceDiscoveryUrl = "https://api.refinitiv.com/streaming/pricing/v1/" );
151 
163  OmmConsumerConfig& host( const EmaString& host = "localhost:14002" );
164 
170  OmmConsumerConfig& operationModel( OperationModel operationModel = ApiDispatchEnum );
171 
178  OmmConsumerConfig& consumerName( const EmaString& consumerName );
179 
185  OmmConsumerConfig& tunnelingProxyHostName( const EmaString& proxyHostName );
186 
192  OmmConsumerConfig& tunnelingProxyPort(const EmaString& proxyPort);
193 
202  OmmConsumerConfig& tunnelingSecurityProtocol(int securityProtocol);
203 
209  OmmConsumerConfig& tunnelingObjectName(const EmaString& objectName);
210 
215  OmmConsumerConfig& tunnelingLibSslName(const EmaString& libsslName);
216 
221  OmmConsumerConfig& tunnelingLibCryptoName(const EmaString& libcryptoName);
222 
228  OmmConsumerConfig& libcurlName(const EmaString& libcurlName);
229 
234  OmmConsumerConfig& proxyUserName(const EmaString& proxyUserName);
235 
240  OmmConsumerConfig& proxyPasswd(const EmaString& proxyPasswd);
241 
252  OmmConsumerConfig& proxyDomain(const EmaString& proxyDomain);
253 
259  OmmConsumerConfig& sslCAStore(const EmaString& sslCAStore);
260 
265  OmmConsumerConfig& config( const Data& config );
266 
273  OmmConsumerConfig& addAdminMsg( const ReqMsg& reqMsg );
275 
276 private :
277 
278  friend class OmmConsumerImpl;
279  friend class OmmConsumer;
280 
281  OmmConsumerConfigImpl* getConfigImpl() const;
282 
283  OmmConsumerConfigImpl* _pImpl;
284 
286  OmmConsumerConfig& operator=( const OmmConsumerConfig& );
287 };
288 
289 }
290 
291 }
292 
293 }
294 
295 #endif // __thomsonreuters_ema_access_OmmConsumerConfig_h
EmaString class is a container of a null terminated Ascii character string.
Definition: EmaString.h:56
ReqMsg allows consumer application to express its interest in an item.
Definition: ReqMsg.h:58
OmmConsumerConfig is used to modify configuration and behavior of OmmConsumer.
#define EMA_ACCESS_API
Definition: Common.h:95
OmmConsumer class encapsulates functionality of an Omm consuming type application.
Definition: OmmConsumer.h:137
Data class is a parent abstract class defining common interfaces for all Data type classes...
Definition: Data.h:38