EMA C++ Edition
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 Refinitiv. All rights reserved. --
6  *|-----------------------------------------------------------------------------
7  */
8 
9 #ifndef __thomsonreuters_ema_access_OmmProvider_h
10 #define __thomsonreuters_ema_access_OmmProvider_h
11 
135 #include "Access/Include/Common.h"
140 
141 namespace thomsonreuters {
142 
143 namespace ema {
144 
145 namespace access {
146 
147 class OmmProviderClient;
148 class OmmProviderConfig;
149 class OmmProviderClient;
150 class OmmProviderErrorClient;
151 class OmmProviderImpl;
152 class EmaString;
153 class AckMsg;
154 class GenericMsg;
155 class RefreshMsg;
156 class ReqMsg;
157 class StatusMsg;
158 class UpdateMsg;
159 class ChannelInformation;
160 
162 {
163 public :
164 
168  {
169  InfiniteWaitEnum = -1,
170  NoWaitEnum = 0
171  };
172 
176  {
177  TimeoutEnum = -1,
178  DispatchedEnum = 0
179  };
180 
182 
183 
189  OmmProvider( const OmmProviderConfig& config );
190 
199  OmmProvider( const OmmProviderConfig& config, OmmProviderClient& client, void* closure = 0 );
200 
209  OmmProvider( const OmmProviderConfig& config, OmmProviderErrorClient& errorclient );
210 
221  OmmProvider( const OmmProviderConfig& config, OmmProviderClient& client, OmmProviderErrorClient& errorclient, void* closure = 0 );
222 
224 
226 
227 
229  virtual ~OmmProvider();
231 
233 
234 
237  const EmaString& getProviderName() const;
238 
242  OmmProviderConfig::ProviderRole getProviderRole() const;
244 
246 
247 
258  UInt64 registerClient( const ReqMsg& reqMsg, OmmProviderClient& client, void* closure = 0 );
259 
271  void reissue( const ReqMsg& reqMsg, UInt64 handle );
272 
281  void submit( const GenericMsg& genericMsg, UInt64 handle );
282 
291  void submit( const RefreshMsg& refreshMsg, UInt64 handle );
292 
301  void submit( const UpdateMsg& updateMsg, UInt64 handle );
302 
311  void submit( const StatusMsg& statusMsg, UInt64 handle );
312 
320  Int64 dispatch( Int64 timeOut = NoWaitEnum );
321 
328  void unregister( UInt64 handle );
329 
330  // IProv
331 
340  void submit( const AckMsg& ackMsg, UInt64 handle );
341 
350  void getConnectedClientChannelInfo(EmaVector<ChannelInformation> &);
351 
362  void getConnectedClientChannelStats(UInt64 clientHandle, ChannelStatistics & cs);
363 
372  void getChannelInformation(ChannelInformation&);
373 
382  void modifyIOCtl( Int32 code, Int32 value, UInt64 handle = 0 );
383 
391  void closeChannel( UInt64 clientHandle );
393 
394 private :
395 
396  OmmProviderImpl* _pImpl;
398 
399  OmmProvider( const OmmProvider& );
400  OmmProvider& operator=( const OmmProvider& );
401 };
402 
403 }
404 
405 }
406 
407 }
408 
409 #endif // __thomsonreuters_ema_access_OmmProvider_h
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
EmaVector class provides template vector implementation.
Definition: EmaVector.h:29
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
OmmProviderErrorClient class provides callback mechanism used in place of exceptions.
ReqMsg allows consumer application to express its interest in an item.
Definition: ReqMsg.h:58
#define EMA_ACCESS_API
Definition: Common.h:95
ChannelInfo provides information on application channel(s).
int Int32
represents 32-bit signed integer
Definition: Common.h:62
StatusMsg conveys item state information.
Definition: StatusMsg.h:79
RefreshMsg conveys item image, state, permission and group information.
Definition: RefreshMsg.h:78
GenericMsg allows applications to bidirectionally send messages without any implied message semantics...
Definition: GenericMsg.h:86
OmmProviderConfig is a base class for the OmmNiProviderConfig.
UpdateMsg conveys changes to item data.
Definition: UpdateMsg.h:71
Common.h file provides definitions of common variable types used in EMA.
OmmProviderClient class provides callback interfaces to pass received messages.
AckMsg indicates success or failure of PostMsg.
Definition: AckMsg.h:67
ChannelStats provides statistical information on application channel(s).