EMA C++ Edition
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
List of all members | Public Types | Friends
thomsonreuters::ema::access::OmmNiProviderConfig Class Reference

OmmNiProviderConfig is used to specify configuration and behaviour of NonInteractive OmmProvider. More...

Inheritance diagram for thomsonreuters::ema::access::OmmNiProviderConfig:
thomsonreuters::ema::access::OmmProviderConfig

Public Types

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

Public Member Functions

Constructor
 OmmNiProviderConfig ()
 
 OmmNiProviderConfig (const EmaString &path)
 
Destructor
virtual ~OmmNiProviderConfig ()
 
Accessors
ProviderRole getProviderRole () const
 
Operations
OmmNiProviderConfigclear ()
 
OmmNiProviderConfigusername (const EmaString &username)
 
OmmNiProviderConfigpassword (const EmaString &password)
 
OmmNiProviderConfigposition (const EmaString &position)
 
OmmNiProviderConfigapplicationId (const EmaString &applicationId)
 
OmmNiProviderConfiginstanceId (const EmaString &instanceId)
 
OmmNiProviderConfighost (const EmaString &host="localhost:14003")
 
OmmNiProviderConfigoperationModel (OperationModel operationModel=ApiDispatchEnum)
 
OmmNiProviderConfigadminControlDirectory (AdminControl control=ApiControlEnum)
 
OmmNiProviderConfigproviderName (const EmaString &providerName)
 
OmmNiProviderConfigtunnelingProxyHostName (const EmaString &proxyHostName)
 
OmmNiProviderConfigtunnelingProxyPort (const EmaString &proxyPort)
 
OmmNiProviderConfigtunnelingSecurityProtocol (int securityProtocol)
 
OmmNiProviderConfigtunnelingObjectName (const EmaString &objectName)
 
OmmNiProviderConfigtunnelingLibSslName (const EmaString &libsslName)
 
OmmNiProviderConfigtunnelingLibCryptoName (const EmaString &libcryptoName)
 
OmmNiProviderConfiglibcurlName (const EmaString &libcurlName)
 
OmmNiProviderConfigproxyUserName (const EmaString &proxyUserName)
 
OmmNiProviderConfigproxyPasswd (const EmaString &proxyPasswd)
 
OmmNiProviderConfigproxyDomain (const EmaString &proxyDomain)
 
OmmNiProviderConfigsslCAStore (const EmaString &sslCAStore)
 
OmmNiProviderConfigconfig (const Data &config)
 
OmmNiProviderConfigaddAdminMsg (const ReqMsg &reqMsg)
 
OmmNiProviderConfigaddAdminMsg (const RefreshMsg &refreshMsg)
 
- Public Member Functions inherited from thomsonreuters::ema::access::OmmProviderConfig
virtual ~OmmProviderConfig ()
 

Friends

class OmmNiProviderImpl
 
class OmmProvider
 

Additional Inherited Members

- Protected Member Functions inherited from thomsonreuters::ema::access::OmmProviderConfig
 OmmProviderConfig ()
 

Detailed Description

OmmNiProviderConfig provides a default basic NonInteractive 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 OmmNiProviderConfig class overrides or appends the existing configuration.

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

Definition at line 45 of file OmmNiProviderConfig.h.

Member Enumeration Documentation

Enumerator
UserControlEnum 

specifies user submit directory refresh message

ApiControlEnum 

specifies API sends down directory refresh message based on the configuration

Definition at line 67 of file OmmNiProviderConfig.h.

Enumerator
ENC_NONE 

(0x00) No encryption.

ENC_TLSV1_2 

(0x08) Encryption using TLSv1.2 protocol

Definition at line 59 of file OmmNiProviderConfig.h.

Enumerator
UserDispatchEnum 

specifies callbacks happen on user thread of control

ApiDispatchEnum 

specifies callbacks happen on API thread of control

Definition at line 51 of file OmmNiProviderConfig.h.

Constructor & Destructor Documentation

thomsonreuters::ema::access::OmmNiProviderConfig::OmmNiProviderConfig ( )

Constructs OmmNiProviderConfig

thomsonreuters::ema::access::OmmNiProviderConfig::OmmNiProviderConfig ( const EmaString path)

Constructs OmmNiProviderConfig

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
virtual thomsonreuters::ema::access::OmmNiProviderConfig::~OmmNiProviderConfig ( )
virtual

Destructor.

Member Function Documentation

OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::addAdminMsg ( const ReqMsg reqMsg)

Specifies an administrative request message to override the default administrative request. Application may call multiple times prior to initialization. Supports Login domain only.

Parameters
[in]reqMsgspecifies administrative domain request message
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::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 domain only.

Parameters
[in]refreshMsgspecifies administrative domain refresh message
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::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
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::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.

Parameters
[in]applicationIdspecifies respective login request attribute
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::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
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::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
ProviderRole thomsonreuters::ema::access::OmmNiProviderConfig::getProviderRole ( ) const
virtual

Retrieve Provider's role

Returns
role of this OmmNiProviderConfig instance

Implements thomsonreuters::ema::access::OmmProviderConfig.

OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::host ( const EmaString host = "localhost:14003")

Specifies a hostname and port. Overrides prior value.

Remarks
Implies usage of TCP IP channel or RSSL_SOCKET.
Parameters
[in]hostspecifies server and port to which OmmProvider will connect
Remarks
if host set to "<hostname>:<port>", then hostname:port is assumed
if host set to "", then localhost:14003 is assumed
if host set to ":", then localhost:14003 is assumed
if host set to "<hostname>", then hostname:14003 is assumed
if host set to "<hostname>:", then hostname:14003 is assumed
if host set to ":<port>", then localhost:port is assumed
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::instanceId ( const EmaString instanceId)

Specifies the instance identifier. Can be any ASCII string, e.g. "Instance1". Used to differentiate applications running on the same client host.

Parameters
[in]instanceIdspecifies respective login request attribute
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::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.

Parameters
[in]libcurlNamespecifies the name of the libcurl.so shared library
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::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
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::password ( const EmaString password)

Specifies the password. Overrides a value specified in Login domain via the addAdminMsg( const ReqMsg& ) method.

Parameters
[in]passwordspecifies respective login request attribute
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::position ( const EmaString position)

Specifies the position. Overrides a value specified in Login domain via the addAdminMsg( const ReqMsg& ) method.

Parameters
[in]positionspecifies respective login request attribute
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::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
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::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.

Parameters
[in]proxyDomainspecifies the domain used for tunneling connection.
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::proxyPasswd ( const EmaString proxyPasswd)
Specifies the passwd to authenticate. Needed for all authentication protocols.
Parameters
[in]proxyPasswdspecifies password used for tunneling connection.
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::proxyUserName ( const EmaString proxyUserName)
Specifies the user name to authenticate. Needed for all authentication protocols.
Parameters
[in]proxyUserNamespecifies user name used for tunneling connection.
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::sslCAStore ( const EmaString sslCAStore)
Specifies the path to an OpenSSL Certificate Authority store.
Parameters
[in]sslCAStorespecifies the file or directory where the CA store is located.
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::tunnelingLibCryptoName ( const EmaString libcryptoName)

Specifies the name of the libcrypto.so shared library for Encrypted connections on a Linux operating system.

Parameters
[in]libsslNamespecifies the name of the libcrypto.so shared library
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::tunnelingLibSslName ( const EmaString libsslName)

Specifies the name of the libssl.so shared library for Encrypted connections on a Linux operating system.

Parameters
[in]libsslNamespecifies the name of the libssl.so shared library
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::tunnelingObjectName ( const EmaString objectName)

Specifies the object name to pass along with the underlying URL in HTTP and HTTPS connection messages.

Parameters
[in]objectNamespecifies the object name.
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::tunnelingProxyHostName ( const EmaString proxyHostName)

Specifies the address or host name of the proxy server to connect to for an HTTP or HTTPS connection.

Parameters
[in]proxyHostNamespecifies the address or host name of the proxy server for tunneling connection.
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::tunnelingProxyPort ( const EmaString proxyPort)

Specifies the port number of the proxy server to connect to for an HTTP or HTTPS connection.

Parameters
[in]proxyPortspecifies the port number of the proxy server for tunneling connection.
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::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. Use OmmNiProviderConfig::EncryptedProtocolTypes flags to set allowed protocols.

Parameters
[in]securityProtocolspecifies a cryptopgraphic protocol.
Returns
reference to this object
OmmNiProviderConfig& thomsonreuters::ema::access::OmmNiProviderConfig::username ( const EmaString username)

Specifies the username. Overrides a value specified in Login domain via the addAdminMsg( const ReqMsg& ) method.

Parameters
[in]usernamespecifies name used on login request
Returns
reference to this object

Friends And Related Function Documentation

friend class OmmNiProviderImpl
friend

Definition at line 283 of file OmmNiProviderConfig.h.

friend class OmmProvider
friend

Definition at line 284 of file OmmNiProviderConfig.h.