EMA C++ Edition
AckMsg.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_AckMsg_h
10#define __refinitiv_ema_access_AckMsg_h
11
59#include "Access/Include/Msg.h"
60#include "DataDictionary.h"
61
62namespace refinitiv {
63
64namespace ema {
65
66namespace access {
67
69{
70public :
71
76 {
77 NoneEnum = 0,
79 AccessDeniedEnum = 1,
81 DeniedBySourceEnum = 2,
83 SourceDownEnum = 3,
85 SourceUnknownEnum = 4,
87 NoResourcesEnum = 5,
89 NoResponseEnum = 6,
91 GatewayDownEnum = 7,
93 SymbolUnknownEnum = 10,
95 NotOpenEnum = 11,
97 InvalidContentEnum = 12
98 };
99
101
102
105
110 AckMsg( const AckMsg& other );
112
114
115
117 virtual ~AckMsg();
119
121
122
126
131
136
140 const EmaBuffer& getAsHex() const;
141
145 const EmaString& toString() const;
146
151 const EmaString& toString( const refinitiv::ema::rdm::DataDictionary& dictionary ) const;
152
157 bool hasSeqNum() const;
158
163 bool hasNackCode() const;
164
169 bool hasText() const;
170
175 bool hasServiceName() const;
176
182
187
193
198 const EmaString& getText() const;
199
203 bool getPrivateStream() const;
204
209 const EmaString& getServiceName() const;
211
213
214
219
224 AckMsg& streamId( Int32 streamId );
225
232
237 AckMsg& name( const EmaString& name );
238
244
250 AckMsg& serviceName( const EmaString& serviceName );
251
257 AckMsg& serviceId( UInt32 serviceId );
258
264
269 AckMsg& filter( UInt32 filter );
270
275 AckMsg& seqNum( UInt32 seqNum );
276
281 AckMsg& ackId( UInt32 postId );
282
287 AckMsg& nackCode( UInt8 nackCode );
288
293 AckMsg& text( const EmaString& text );
294
299 AckMsg& attrib( const ComplexType& attrib );
300
305 AckMsg& payload( const ComplexType& payload );
306
311 AckMsg& extendedHeader( const EmaBuffer& buffer );
312
317 AckMsg& privateStream( bool privateStream = false );
319
320private :
321
322 friend class ItemCallbackClient;
323
324 const EmaString& toString( UInt64 indent ) const;
325
326 Decoder& getDecoder();
327
328 AckMsg& operator=( const AckMsg& );
329
330 mutable EmaString _toString;
331};
332
333}
334
335}
336
337}
338
339#endif // __refinitiv_ema_access_AckMsg_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.
AckMsg indicates success or failure of PostMsg.
Definition: AckMsg.h:69
const EmaString & toString(const refinitiv::ema::rdm::DataDictionary &dictionary) const
AckMsg & name(const EmaString &name)
const EmaBuffer & getAsHex() const
AckMsg & domainType(UInt16 domainType=rdm::MMT_MARKET_PRICE)
AckMsg & streamId(Int32 streamId)
AckMsg & payload(const ComplexType &payload)
AckMsg & extendedHeader(const EmaBuffer &buffer)
const EmaString & getNackCodeAsString() const
AckMsg & serviceId(UInt32 serviceId)
AckMsg & privateStream(bool privateStream=false)
AckMsg & nameType(UInt8 nameType=rdm::INSTRUMENT_NAME_RIC)
const EmaString & getServiceName() const
AckMsg & attrib(const ComplexType &attrib)
Data::DataCode getCode() const
AckMsg & ackId(UInt32 postId)
DataType::DataTypeEnum getDataType() const
AckMsg & filter(UInt32 filter)
const EmaString & toString() const
AckMsg & text(const EmaString &text)
AckMsg(const AckMsg &other)
AckMsg & nackCode(UInt8 nackCode)
AckMsg & seqNum(UInt32 seqNum)
const EmaString & getText() const
AckMsg & serviceName(const EmaString &serviceName)
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