EMA C++ Edition
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PostMsg.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 Refinitiv. All rights reserved. --
6  *|-----------------------------------------------------------------------------
7  */
8 
9 #ifndef __thomsonreuters_ema_access_PostMsg_h
10 #define __thomsonreuters_ema_access_PostMsg_h
11 
53 #include "Access/Include/Msg.h"
54 
55 namespace thomsonreuters {
56 
57 namespace ema {
58 
59 namespace access {
60 
61 class EMA_ACCESS_API PostMsg : public Msg
62 {
63 public :
64 
69  {
70  CreateEnum = 0x01,
72  DeleteEnum = 0x02,
74  ModifyPermissionEnum = 0x04
75  };
76 
78 
79 
81  PostMsg();
82 
87  PostMsg( const PostMsg& other );
89 
91 
92 
94  virtual ~PostMsg();
96 
98 
99 
102  const EmaString& getPostUserRightsAsString() const;
103 
107  DataType::DataTypeEnum getDataType() const;
108 
112  Data::DataCode getCode() const;
113 
117  const EmaBuffer& getAsHex() const;
118 
122  const EmaString& toString() const;
123 
128  bool hasSeqNum() const;
129 
134  bool hasPostId() const;
135 
140  bool hasPartNum() const;
141 
146  bool hasPostUserRights() const;
147 
152  bool hasPermissionData() const;
153 
158  bool hasServiceName() const;
159 
164  UInt32 getSeqNum() const;
165 
170  UInt32 getPostId() const;
171 
176  UInt16 getPartNum() const;
177 
182  UInt16 getPostUserRights() const;
183 
188  const EmaBuffer& getPermissionData() const;
189 
193  UInt32 getPublisherIdUserId() const;
194 
198  UInt32 getPublisherIdUserAddress() const;
199 
203  bool getSolicitAck() const;
204 
208  bool getComplete() const;
209 
214  const EmaString& getServiceName() const;
216 
218 
219 
223  PostMsg& clear();
224 
229  PostMsg& streamId( Int32 streamId );
230 
236  PostMsg& domainType( UInt16 domainType = rdm::MMT_MARKET_PRICE );
237 
242  PostMsg& name( const EmaString& name );
243 
248  PostMsg& nameType( UInt8 nameType = rdm::INSTRUMENT_NAME_RIC );
249 
255  PostMsg& serviceName( const EmaString& name );
256 
262  PostMsg& serviceId( UInt32 serviceId );
263 
268  PostMsg& id( Int32 id );
269 
274  PostMsg& filter( UInt32 filter );
275 
280  PostMsg& seqNum( UInt32 seqNum );
281 
286  PostMsg& postId( UInt32 postId );
287 
292  PostMsg& partNum( UInt16 partNum );
293 
298  PostMsg& postUserRights( UInt16 postUserRights );
299 
304  PostMsg& permissionData( const EmaBuffer& permissionData );
305 
311  PostMsg& publisherId( UInt32 UserId, UInt32 UserAddress );
312 
317  PostMsg& attrib( const ComplexType& data );
318 
323  PostMsg& payload( const ComplexType& data );
324 
329  PostMsg& extendedHeader( const EmaBuffer& buffer );
330 
335  PostMsg& solicitAck( bool ack = false );
336 
342  PostMsg& complete( bool complete = true );
344 
345 private :
346 
347  mutable EmaString _toString;
348  mutable EmaString _postUserRightsString;
349 
350  const EmaString& toString( UInt64 ) const;
351 
352  Decoder& getDecoder();
353 
354  PostMsg& operator=( const PostMsg& );
355 };
356 
357 }
358 
359 }
360 
361 }
362 
363 #endif // __thomsonreuters_ema_access_PostMsg_h
unsigned short UInt16
represents 16-bit unsigned integer
Definition: Common.h:44
unsigned long long UInt64
represents 64-bit unsigned integer
Definition: Common.h:68
Msg class is a parent class for all message representing classes.
Definition: Msg.h:45
unsigned int UInt32
represents 32-bit unsigned integer
Definition: Common.h:56
EmaString class is a container of a null terminated Ascii character string.
Definition: EmaString.h:56
EmaBuffer represents a general use binary buffer.
Definition: EmaBuffer.h:32
#define EMA_ACCESS_API
Definition: Common.h:95
ComplexType class is a parent class from whom all complex data types inherit.
Definition: ComplexType.h:33
int Int32
represents 32-bit signed integer
Definition: Common.h:62
static const thomsonreuters::ema::access::UInt8 INSTRUMENT_NAME_RIC
Definition: EmaRdm.h:197
static const thomsonreuters::ema::access::UInt8 MMT_MARKET_PRICE
Definition: EmaRdm.h:50
PostMsg allows consumer applications to contribute content.
Definition: PostMsg.h:61
unsigned char UInt8
represents 8-bit unsigned integer
Definition: Common.h:32