EMA C++ Edition
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
OmmNiProviderConfig.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_OmmNiProviderConfig_h
10 #define __thomsonreuters_ema_access_OmmNiProviderConfig_h
11 
33 
34 namespace thomsonreuters {
35 
36 namespace ema {
37 
38 namespace access {
39 
40 class Data;
41 class ReqMsg;
42 class RefreshMsg;
43 class OmmNiProviderConfigImpl;
44 
46 {
47 public :
48 
52  {
54  ApiDispatchEnum
55  };
56 
60  {
61  ENC_NONE = 0x00,
62  ENC_TLSV1_2 = 0x04
63  };
64 
68  {
70  ApiControlEnum
71  };
72 
74 
75 
79 
81 
82 
86  OmmNiProviderConfig(const EmaString & path);
88 
90 
91 
93  virtual ~OmmNiProviderConfig();
95 
97 
98 
101  ProviderRole getProviderRole() const;
103 
105 
106 
110  OmmNiProviderConfig& clear();
111 
116  OmmNiProviderConfig& username( const EmaString& username );
117 
122  OmmNiProviderConfig& password( const EmaString& password );
123 
128  OmmNiProviderConfig& position( const EmaString& position );
129 
135  OmmNiProviderConfig& applicationId( const EmaString& applicationId );
136 
142  OmmNiProviderConfig& instanceId( const EmaString& instanceId );
143 
155  OmmNiProviderConfig& host( const EmaString& host = "localhost:14003" );
156 
162  OmmNiProviderConfig& operationModel( OperationModel operationModel = ApiDispatchEnum );
163 
168  OmmNiProviderConfig& adminControlDirectory( AdminControl control = ApiControlEnum );
169 
175  OmmNiProviderConfig& providerName( const EmaString& providerName );
176 
182  OmmNiProviderConfig& tunnelingProxyHostName(const EmaString& proxyHostName);
183 
189  OmmNiProviderConfig& tunnelingProxyPort(const EmaString& proxyPort);
190 
199  OmmNiProviderConfig& tunnelingSecurityProtocol(int securityProtocol);
200 
206  OmmNiProviderConfig& tunnelingObjectName(const EmaString& objectName);
207 
213  OmmNiProviderConfig& tunnelingLibSslName(const EmaString& libsslName);
214 
220  OmmNiProviderConfig& tunnelingLibCryptoName(const EmaString& libcryptoName);
221 
227  OmmNiProviderConfig& libcurlName(const EmaString& libcurlName);
228 
233  OmmNiProviderConfig& proxyUserName(const EmaString& proxyUserName);
234 
239  OmmNiProviderConfig& proxyPasswd(const EmaString& proxyPasswd);
240 
251  OmmNiProviderConfig& proxyDomain(const EmaString& proxyDomain);
252 
258  OmmNiProviderConfig& sslCAStore(const EmaString& sslCAStore);
259 
264  OmmNiProviderConfig& config( const Data& config );
265 
271  OmmNiProviderConfig& addAdminMsg( const ReqMsg& reqMsg );
272 
278  OmmNiProviderConfig& addAdminMsg( const RefreshMsg& refreshMsg );
280 
281 private:
282 
283  friend class OmmNiProviderImpl;
284  friend class OmmProvider;
285 
286  OmmNiProviderConfigImpl* _pImpl;
287 
288  OmmNiProviderConfigImpl* getConfigImpl() const;
289 
291  OmmNiProviderConfig& operator=( const OmmNiProviderConfig& );
292 };
293 
294 }
295 
296 }
297 
298 }
299 
300 #endif // __thomsonreuters_ema_access_OmmNiProviderConfig_h
OmmProvider class encapsulates functionality of an Interactive and NonInteractive OmmProvider applica...
Definition: OmmProvider.h:161
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
#define EMA_ACCESS_API
Definition: Common.h:95
OmmNiProviderConfig is used to specify configuration and behaviour of NonInteractive OmmProvider...
RefreshMsg conveys item image, state, permission and group information.
Definition: RefreshMsg.h:78
OmmProviderConfig is a base class for the OmmNiProviderConfig.
Data class is a parent abstract class defining common interfaces for all Data type classes...
Definition: Data.h:38