EMA C++ Edition
Msg.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_Msg_h
10#define __refinitiv_ema_access_Msg_h
11
34#include "Rdm/Include/EmaRdm.h"
35
36namespace refinitiv {
37
38namespace ema {
39
40namespace access {
41
42class MsgDecoder;
43class MsgEncoder;
44
46{
47public :
48
50
51
54 bool hasMsgKey() const;
55
59 bool hasName() const;
60
64 bool hasNameType() const;
65
69 bool hasServiceId() const;
70
74 bool hasId() const;
75
79 bool hasFilter() const;
80
84 bool hasExtendedHeader() const;
85
90
95
100 const EmaString& getName() const;
101
107
113
118 Int32 getId() const;
119
125
131
136 const Attrib& getAttrib() const;
137
142 const Payload& getPayload() const;
144
146
147
149 virtual ~Msg();
151
152protected :
153
154 friend class OmmConsumerConfigImpl;
155 friend class OmmNiProviderConfigImpl;
156 friend class EmaConfigImpl;
157 friend class EmaConfigServerImpl;
158 friend class OmmNiProviderImpl;
159 friend class OmmIProviderImpl;
160 friend class ItemCallbackClient;
161 friend class DirectoryItem;
162 friend class LoginItem;
163 friend class NiProviderLoginItem;
164 friend class SingleItem;
165 friend class NiProviderSingleItem;
166 friend class IProviderSingleItem;
167 friend class DictionaryItem;
168 friend class NiProviderDictionaryItem;
169 friend class IProviderDictionaryItem;
170 friend class ProviderItem;
171 friend class TunnelItem;
172 friend class TunnelStreamLoginReqMsgImpl;
173 friend class SubItem;
174 friend class MsgDecoder;
175 friend class PackedMsgImpl;
176
178
179 const Encoder& getEncoder() const;
180 bool hasEncoder() const;
181 void setDecoder( MsgDecoder* );
182 bool hasDecoder() const;
183
184 mutable MsgDecoder* _pDecoder;
185 mutable MsgEncoder* _pEncoder;
186
189
190private :
191
192 Msg( const Msg& );
193 Msg& operator=( const Msg& );
194};
195
196}
197
198}
199
200}
201
202#endif // __refinitiv_ema_access_Msg_h
#define EMA_ACCESS_API
Definition: Common.h:95
EmaRdm.h file contains RDM constants and definitions.
*|--------------------------------------------------------------------------—
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
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.
Attrib conveys message attribute information.
Definition: Attrib.h:108
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
MsgEncoder * _pEncoder
Definition: Msg.h:185
const Encoder & getEncoder() const
const EmaBuffer & getExtendedHeader() const
void setDecoder(MsgDecoder *)
MsgDecoder * _pDecoder
Definition: Msg.h:184
const Attrib & getAttrib() const
UInt16 getDomainType() const
const EmaString & getName() const
const Payload & getPayload() const
Payload conveys the data part of item image.
Definition: Payload.h:104