EMA C++ Edition
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 Refinitiv. All rights reserved. --
6  *|-----------------------------------------------------------------------------
7  */
8 
9 #ifndef __thomsonreuters_ema_access_Msg_h
10 #define __thomsonreuters_ema_access_Msg_h
11 
32 #include "Access/Include/Attrib.h"
33 #include "Access/Include/Payload.h"
34 #include "Rdm/Include/EmaRdm.h"
35 
36 namespace thomsonreuters {
37 
38 namespace ema {
39 
40 namespace access {
41 
42 class MsgDecoder;
43 class MsgEncoder;
44 
46 {
47 public :
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 
89  Int32 getStreamId() const;
90 
94  UInt16 getDomainType() const;
95 
100  const EmaString& getName() const;
101 
106  UInt8 getNameType() const;
107 
112  UInt32 getServiceId() const;
113 
118  Int32 getId() const;
119 
124  UInt32 getFilter() const;
125 
130  const EmaBuffer& getExtendedHeader() const;
131 
136  const Attrib& getAttrib() const;
137 
142  const Payload& getPayload() const;
144 
146 
147 
149  virtual ~Msg();
151 
152 protected :
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 
176  Msg();
177 
178  const Encoder& getEncoder() const;
179  bool hasEncoder() const;
180  void setDecoder( MsgDecoder* );
181  bool hasDecoder() const;
182 
183  MsgDecoder* _pDecoder;
184  MsgEncoder* _pEncoder;
185 
188 
189 private :
190 
191  Msg( const Msg& );
192  Msg& operator=( const Msg& );
193 };
194 
195 }
196 
197 }
198 
199 }
200 
201 #endif // __thomsonreuters_ema_access_Msg_h
unsigned short UInt16
represents 16-bit unsigned integer
Definition: Common.h:44
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
Payload conveys the data part of item image.
Definition: Payload.h:103
#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
Attrib conveys message attribute information.
Definition: Attrib.h:107
unsigned char UInt8
represents 8-bit unsigned integer
Definition: Common.h:32
EmaRdm.h file contains RDM constants and definitions.