EMA C++ Edition
OmmConsumer.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-2022 LSEG. All rights reserved. --
6 *|-----------------------------------------------------------------------------
7 */
8
9#ifndef __refinitiv_ema_access_OmmConsumer_h
10#define __refinitiv_ema_access_OmmConsumer_h
11
122
123namespace refinitiv {
124
125namespace ema {
126
127namespace access {
128
129class EmaString;
130class OmmConsumerConfig;
131class OmmConsumerClient;
132class OmmOAuth2ConsumerClient;
133class OmmConsumerErrorClient;
134class ReqMsg;
135class PostMsg;
136class GenericMsg;
137class TunnelStreamRequest;
138class ChannelInformation;
139class OmmConsumerImpl;
140
142{
143public :
144
148 {
149 InfiniteWaitEnum = -1,
150 NoWaitEnum = 0
151 };
152
156 {
157 TimeoutEnum = -1,
158 DispatchedEnum = 0
159 };
160
162
163
169
176 OmmConsumer(const OmmConsumerConfig& config, OmmConsumerClient& client, void* closure = 0 );
177
185 OmmConsumer(const OmmConsumerConfig& config, OmmOAuth2ConsumerClient& oAuthClient, void* closure = 0);
186
194 OmmConsumer(const OmmConsumerConfig& config, OmmOAuth2ConsumerClient& oAuthClient, OmmConsumerErrorClient& errorClient, void* closure = 0);
195
203
211 OmmConsumer(const OmmConsumerConfig& config, OmmConsumerClient& adminClient, OmmOAuth2ConsumerClient& oAuthClient, void* closure = 0);
212
220 OmmConsumer( const OmmConsumerConfig& config, OmmConsumerClient& adminClient, OmmConsumerErrorClient& errorClient, void* closure = 0 );
221
230 OmmConsumer(const OmmConsumerConfig& config, OmmConsumerClient& adminClient, OmmOAuth2ConsumerClient& oAuthClient, OmmConsumerErrorClient& errorClient, void* closure = 0);
232
234
235
237 virtual ~OmmConsumer();
239
241
242
247
249
250
262 UInt64 registerClient( const ReqMsg& reqMsg, OmmConsumerClient& client, void* closure = 0, UInt64 parentHandle = 0 );
263
274 UInt64 registerClient( const TunnelStreamRequest& tunnelStreamRequest, OmmConsumerClient& client, void* closure = 0 );
275
287 void reissue( const ReqMsg& reqMsg, UInt64 handle );
288
296 void submit( const GenericMsg& genericMsg, UInt64 handle );
297
307 void submit( const PostMsg& postMsg, UInt64 handle );
308
316 Int64 dispatch( Int64 dispatchTimeout = NoWaitEnum );
317
323 void unregister( UInt64 handle );
324
332
341
349 void modifyIOCtl(Int32 code, Int32 value);
350
358 void modifyReactorIOCtl(Int32 code, Int32 value);
359
360
371
382
383private :
384
385 OmmConsumerImpl* _pImpl;
386
387 OmmConsumer( const OmmConsumer& );
388 OmmConsumer& operator=( const OmmConsumer& );
389};
390
391}
392
393}
394
395}
396
397#endif // __refinitiv_ema_access_OmmConsumer_h
Common.h file provides definitions of common variable types used in EMA.
#define EMA_ACCESS_API
Definition: Common.h:95
*|--------------------------------------------------------------------------—
Definition: AckMsg.h:62
int Int32
represents 32-bit signed integer
Definition: Common.h:62
long long Int64
represents 64-bit signed integer
Definition: Common.h:74
unsigned long long UInt64
represents 64-bit unsigned integer
Definition: Common.h:68
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.
ChannelInfo provides information on application channel(s).
ChannelStats provides statistical information on application channel(s).
EmaString class is a container of a null terminated Ascii character string.
Definition: EmaString.h:57
GenericMsg allows applications to bidirectionally send messages without any implied message semantics...
Definition: GenericMsg.h:88
LoginMsgCredentialRenewal class is used with OmmConsumer::SubmitOAuthCredentialRenewal to supply EMA ...
OAuth2CredentialRenewal class is used with OmmConsumer::SubmitOAuthCredentialRenewal to supply EMA wi...
OmmConsumer class encapsulates functionality of an Omm consuming type application.
Definition: OmmConsumer.h:142
void getChannelInformation(ChannelInformation &)
OmmConsumer(const OmmConsumerConfig &config, OmmOAuth2ConsumerClient &oAuthClient, void *closure=0)
OmmConsumer(const OmmConsumerConfig &config, OmmConsumerClient &client, void *closure=0)
const EmaString & getConsumerName() const
Int64 dispatch(Int64 dispatchTimeout=NoWaitEnum)
void modifyIOCtl(Int32 code, Int32 value)
void modifyReactorIOCtl(Int32 code, Int32 value)
OmmConsumer(const OmmConsumerConfig &config, OmmConsumerClient &adminClient, OmmOAuth2ConsumerClient &oAuthClient, OmmConsumerErrorClient &errorClient, void *closure=0)
OmmConsumer(const OmmConsumerConfig &config, OmmConsumerErrorClient &client)
void renewLoginCredentials(LoginMsgCredentialRenewal &)
OmmConsumer(const OmmConsumerConfig &config)
UInt64 registerClient(const ReqMsg &reqMsg, OmmConsumerClient &client, void *closure=0, UInt64 parentHandle=0)
OmmConsumer(const OmmConsumerConfig &config, OmmOAuth2ConsumerClient &oAuthClient, OmmConsumerErrorClient &errorClient, void *closure=0)
void renewOAuth2Credentials(OAuth2CredentialRenewal &)
void reissue(const ReqMsg &reqMsg, UInt64 handle)
void getChannelStatistics(ChannelStatistics &)
void submit(const GenericMsg &genericMsg, UInt64 handle)
OmmConsumer(const OmmConsumerConfig &config, OmmConsumerClient &adminClient, OmmOAuth2ConsumerClient &oAuthClient, void *closure=0)
OmmConsumer(const OmmConsumerConfig &config, OmmConsumerClient &adminClient, OmmConsumerErrorClient &errorClient, void *closure=0)
void submit(const PostMsg &postMsg, UInt64 handle)
UInt64 registerClient(const TunnelStreamRequest &tunnelStreamRequest, OmmConsumerClient &client, void *closure=0)
OmmConsumerClient class provides callback interfaces to pass received messages.
OmmConsumerConfig is used to modify configuration and behavior of OmmConsumer.
OmmConsumerErrorclient class provides callback mechanism used in place of exceptions.
OmmOAuth2ConsumerClient class provides callback interfaces for OAuth interactions.
PostMsg allows consumer applications to contribute content.
Definition: PostMsg.h:63
ReqMsg allows consumer application to express its interest in an item.
Definition: ReqMsg.h:60
TunnelStreamRequest encapsulates tunnel stream request parameters.