EMA C++ Edition
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, 2024 LSEG. All rights reserved. --
6 *|-----------------------------------------------------------------------------
7 */
8
9#ifndef __refinitiv_ema_access_PostMsg_h
10#define __refinitiv_ema_access_PostMsg_h
11
53#include "Access/Include/Msg.h"
54#include "DataDictionary.h"
55
56namespace refinitiv {
57
58namespace ema {
59
60namespace access {
61
63{
64public :
65
70 {
71 CreateEnum = 0x01,
73 DeleteEnum = 0x02,
75 ModifyPermissionEnum = 0x04
76 };
77
79
80
83
88 PostMsg( const PostMsg& other );
90
92
93
95 virtual ~PostMsg();
97
99
100
104
109
114
118 const EmaBuffer& getAsHex() const;
119
123 const EmaString& toString() const;
124
129 const EmaString& toString( const refinitiv::ema::rdm::DataDictionary& dictionary ) const;
130
135 bool hasSeqNum() const;
136
141 bool hasPostId() const;
142
147 bool hasPartNum() const;
148
153 bool hasPostUserRights() const;
154
159 bool hasPermissionData() const;
160
165 bool hasServiceName() const;
166
172
178
184
190
196
201
206
210 bool getSolicitAck() const;
211
215 bool getComplete() const;
216
221 const EmaString& getServiceName() const;
223
225
226
231
236 PostMsg& streamId( Int32 streamId );
237
244
249 PostMsg& name( const EmaString& name );
250
256
263
269 PostMsg& serviceId( UInt32 serviceId );
270
276
282
288
294
299 PostMsg& partNum( UInt16 partNum );
300
305 PostMsg& postUserRights( UInt16 postUserRights );
306
311 PostMsg& permissionData( const EmaBuffer& permissionData );
312
318 PostMsg& publisherId( UInt32 UserId, UInt32 UserAddress );
319
324 PostMsg& attrib( const ComplexType& data );
325
330 PostMsg& payload( const ComplexType& data );
331
337
342 PostMsg& solicitAck( bool ack = false );
343
349 PostMsg& complete( bool complete = true );
351
352private :
353
354 mutable EmaString _toString;
355 mutable EmaString _postUserRightsString;
356
357 const EmaString& toString( UInt64 ) const;
358
359 Decoder& getDecoder();
360
361 PostMsg& operator=( const PostMsg& );
362};
363
364}
365
366}
367
368}
369
370#endif // __refinitiv_ema_access_PostMsg_h
#define EMA_ACCESS_API
Definition: Common.h:95
*|--------------------------------------------------------------------------—
Definition: AckMsg.h:62
int Int32
represents 32-bit signed integer
Definition: Common.h:62
unsigned int UInt32
represents 32-bit unsigned integer
Definition: Common.h:56
unsigned char UInt8
represents 8-bit unsigned integer
Definition: Common.h:32
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
The access namespace contains all interfaces and definitions specified for use with the EMA Access pa...
static const refinitiv::ema::access::UInt8 MMT_MARKET_PRICE
Definition: EmaRdm.h:50
static const refinitiv::ema::access::UInt8 INSTRUMENT_NAME_RIC
Definition: EmaRdm.h:197
The ema namespace contains all interfaces and definitions specified for use with EMA.
ComplexType class is a parent class from whom all complex data types inherit.
Definition: ComplexType.h:34
EmaBuffer represents a general use binary buffer.
Definition: EmaBuffer.h:33
EmaString class is a container of a null terminated Ascii character string.
Definition: EmaString.h:57
Msg class is a parent class for all message representing classes.
Definition: Msg.h:46
PostMsg allows consumer applications to contribute content.
Definition: PostMsg.h:63
const EmaBuffer & getAsHex() const
PostMsg & serviceName(const EmaString &name)
PostMsg & seqNum(UInt32 seqNum)
Data::DataCode getCode() const
PostMsg & name(const EmaString &name)
const EmaString & getPostUserRightsAsString() const
PostMsg & domainType(UInt16 domainType=rdm::MMT_MARKET_PRICE)
UInt32 getPublisherIdUserAddress() const
PostMsg & permissionData(const EmaBuffer &permissionData)
DataType::DataTypeEnum getDataType() const
PostMsg & filter(UInt32 filter)
PostMsg & attrib(const ComplexType &data)
PostMsg & publisherId(UInt32 UserId, UInt32 UserAddress)
PostMsg & postId(UInt32 postId)
PostMsg & complete(bool complete=true)
PostMsg & postUserRights(UInt16 postUserRights)
PostMsg & partNum(UInt16 partNum)
const EmaBuffer & getPermissionData() const
PostMsg & solicitAck(bool ack=false)
PostMsg & nameType(UInt8 nameType=rdm::INSTRUMENT_NAME_RIC)
PostMsg & extendedHeader(const EmaBuffer &buffer)
PostMsg & payload(const ComplexType &data)
const EmaString & toString(const refinitiv::ema::rdm::DataDictionary &dictionary) const
PostMsg & serviceId(UInt32 serviceId)
PostMsg & streamId(Int32 streamId)
const EmaString & getServiceName() const
PostMsg(const PostMsg &other)
const EmaString & toString() const