EMA C++ Edition
OmmProvider.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) 2020 LSEG. All rights reserved. --
6 *|-----------------------------------------------------------------------------
7 */
8
9#ifndef __refinitiv_ema_access_OmmProvider_h
10#define __refinitiv_ema_access_OmmProvider_h
11
140
141namespace refinitiv {
142
143namespace ema {
144
145namespace access {
146
147class OmmProviderClient;
148class OmmProviderConfig;
149class OmmProviderClient;
150class OmmProviderErrorClient;
151class OmmProviderImpl;
152class EmaString;
153class AckMsg;
154class GenericMsg;
155class RefreshMsg;
156class ReqMsg;
157class StatusMsg;
158class UpdateMsg;
159class ChannelInformation;
160class PackedMsg;
161
163{
164public :
165
169 {
170 InfiniteWaitEnum = -1,
171 NoWaitEnum = 0
172 };
173
177 {
178 TimeoutEnum = -1,
179 DispatchedEnum = 0
180 };
181
183
184
191
200 OmmProvider( const OmmProviderConfig& config, OmmProviderClient& client, void* closure = 0 );
201
211
222 OmmProvider( const OmmProviderConfig& config, OmmProviderClient& client, OmmProviderErrorClient& errorclient, void* closure = 0 );
223
225
227
228
230 virtual ~OmmProvider();
232
234
235
239
245
247
248
259 UInt64 registerClient( const ReqMsg& reqMsg, OmmProviderClient& client, void* closure = 0 );
260
272 void reissue( const ReqMsg& reqMsg, UInt64 handle );
273
282 void submit( const GenericMsg& genericMsg, UInt64 handle );
283
292 void submit( const RefreshMsg& refreshMsg, UInt64 handle );
293
302 void submit( const UpdateMsg& updateMsg, UInt64 handle );
303
312 void submit( const StatusMsg& statusMsg, UInt64 handle );
313
320 void submit( const PackedMsg& packedMsg);
321
330 Int64 dispatch( Int64 timeOut = NoWaitEnum );
331
338 void unregister( UInt64 handle );
339
340 // IProv
341
350 void submit( const AckMsg& ackMsg, UInt64 handle );
351
361
373
383
392 void modifyIOCtl( Int32 code, Int32 value, UInt64 handle = 0 );
393
401 void closeChannel( UInt64 clientHandle );
403
404private :
405
406 friend class PackedMsgImpl;
407
408 OmmProviderImpl* _pImpl;
410
411 OmmProvider( const OmmProvider& );
412 OmmProvider& operator=( const OmmProvider& );
413};
414
415}
416
417}
418
419}
420
421#endif // __refinitiv_ema_access_OmmProvider_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.
AckMsg indicates success or failure of PostMsg.
Definition: AckMsg.h:69
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
EmaVector class provides template vector implementation.
Definition: EmaVector.h:30
GenericMsg allows applications to bidirectionally send messages without any implied message semantics...
Definition: GenericMsg.h:88
OmmProvider class encapsulates functionality of an Interactive and NonInteractive OmmProvider applica...
Definition: OmmProvider.h:163
void getConnectedClientChannelInfo(EmaVector< ChannelInformation > &)
void submit(const PackedMsg &packedMsg)
void modifyIOCtl(Int32 code, Int32 value, UInt64 handle=0)
OmmProvider(const OmmProviderConfig &config)
void closeChannel(UInt64 clientHandle)
OmmProvider(const OmmProviderConfig &config, OmmProviderClient &client, OmmProviderErrorClient &errorclient, void *closure=0)
void submit(const UpdateMsg &updateMsg, UInt64 handle)
void submit(const AckMsg &ackMsg, UInt64 handle)
Int64 dispatch(Int64 timeOut=NoWaitEnum)
OmmProviderConfig::ProviderRole getProviderRole() const
void getChannelInformation(ChannelInformation &)
void submit(const RefreshMsg &refreshMsg, UInt64 handle)
void submit(const GenericMsg &genericMsg, UInt64 handle)
UInt64 registerClient(const ReqMsg &reqMsg, OmmProviderClient &client, void *closure=0)
OmmProvider(const OmmProviderConfig &config, OmmProviderClient &client, void *closure=0)
OmmProvider(const OmmProviderConfig &config, OmmProviderErrorClient &errorclient)
void submit(const StatusMsg &statusMsg, UInt64 handle)
void reissue(const ReqMsg &reqMsg, UInt64 handle)
void getConnectedClientChannelStats(UInt64 clientHandle, ChannelStatistics &cs)
const EmaString & getProviderName() const
OmmProviderClient class provides callback interfaces to pass received messages.
OmmProviderConfig is a base class for the OmmNiProviderConfig.
OmmProviderErrorClient class provides callback mechanism used in place of exceptions.
PackedMsg class provides API to pack messages.
Definition: PackedMsg.h:68
RefreshMsg conveys item image, state, permission and group information.
Definition: RefreshMsg.h:80
ReqMsg allows consumer application to express its interest in an item.
Definition: ReqMsg.h:60
StatusMsg conveys item state information.
Definition: StatusMsg.h:81
UpdateMsg conveys changes to item data.
Definition: UpdateMsg.h:73