EMA C++ Edition
Map.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_Map_h
10#define __refinitiv_ema_access_Map_h
11
114#include "DataDictionary.h"
115
116namespace refinitiv {
117
118namespace ema {
119
120namespace access {
121
122class MapDecoder;
123class MapEncoder;
124
126{
127public :
128
130
131
135
137
138
140 virtual ~Map();
142
144
145
149
154
158 const EmaBuffer& getAsHex() const;
159
163 const EmaString& toString() const;
164
169 const EmaString& toString( const refinitiv::ema::rdm::DataDictionary& dictionary ) const;
170
174 bool forth() const;
175
178 void reset() const;
179
184 const MapEntry& getEntry() const;
185
189 bool hasKeyFieldId() const;
190
194 bool hasTotalCountHint() const;
195
201
207
214
216
217
222
228 Map& keyFieldId( Int16 fieldId );
229
235 Map& totalCountHint( UInt32 totalCountHint );
236
244 Map& summaryData( const ComplexType& summaryData );
245
253 Map& keyType( DataType::DataTypeEnum keyPrimitiveType );
254
264 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
265
273 Map& addKeyInt( Int64 key, MapEntry::MapAction action, const EmaBuffer& permissionData = EmaBuffer() );
274
284 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
285
293 Map& addKeyUInt( UInt64 key, MapEntry::MapAction action, const EmaBuffer& permissionData = EmaBuffer() );
294
305 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
306
316 const EmaBuffer& permissionData = EmaBuffer() );
317
328 const ComplexType& value,
330 const EmaBuffer& permissionData = EmaBuffer() );
331
342 const EmaBuffer& permissionData = EmaBuffer() );
343
353 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
354
362 Map& addKeyFloat( float key, MapEntry::MapAction action, const EmaBuffer& permissionData = EmaBuffer() );
363
373 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
374
382 Map& addKeyDouble(double key, MapEntry::MapAction action, const EmaBuffer& permissionData = EmaBuffer());
383
396 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
397
409 const EmaBuffer& permissionData = EmaBuffer() );
410
425 Map& addKeyTime( UInt8 hour, UInt8 minute, UInt8 second,
426 UInt16 millisecond, UInt16 microsecond, UInt16 nanosecond,
427 MapEntry::MapAction action,
428 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
429
443 Map& addKeyTime( UInt8 hour, UInt8 minute, UInt8 second,
444 UInt16 millisecond, UInt16 microsecond, UInt16 nanosecond,
445 MapEntry::MapAction action, const EmaBuffer& permissionData = EmaBuffer() );
446
464 Map& addKeyDateTime( UInt16 year, UInt8 month, UInt8 day,
465 UInt8 hour, UInt8 minute, UInt8 second,
466 UInt16 millisecond, UInt16 microsecond, UInt16 nanosecond,
467 MapEntry::MapAction action,
468 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
469
486 Map& addKeyDateTime( UInt16 year, UInt8 month, UInt8 day,
487 UInt8 hour, UInt8 minute, UInt8 second,
488 UInt16 millisecond, UInt16 microsecond, UInt16 nanosecond,
489 MapEntry::MapAction action, const EmaBuffer& permissionData = EmaBuffer() );
490
500 Map& addKeyQos( UInt32 timeliness, UInt32 rate, MapEntry::MapAction action,
501 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
502
511 Map& addKeyQos( UInt32 timeliness, UInt32 rate, MapEntry::MapAction action,
512 const EmaBuffer& permissionData = EmaBuffer() );
513
525 Map& addKeyState( OmmState::StreamState streamState, OmmState::DataState dataState, UInt8 statusCode, const EmaString& statusText,
526 MapEntry::MapAction action,
527 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
528
539 Map& addKeyState( OmmState::StreamState streamState, OmmState::DataState dataState, UInt8 statusCode, const EmaString& statusText,
540 MapEntry::MapAction action, const EmaBuffer& permissionData = EmaBuffer() );
541
551 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
552
561 const EmaBuffer& permissionData = EmaBuffer() );
562
572 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
573
582 const EmaBuffer& permissionData = EmaBuffer() );
583
593 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
594
603 const EmaBuffer& permissionData = EmaBuffer() );
604
614 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
615
624 const EmaBuffer& permissionData = EmaBuffer() );
625
635 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
636
645 const EmaBuffer& permissionData = EmaBuffer() );
646
651 const Map& complete();
653
654private :
655
656 Decoder& getDecoder();
657 bool hasDecoder() const;
658
659 const Encoder& getEncoder() const;
660 bool hasEncoder() const;
661
662 const EmaString& toString( UInt64 indent ) const;
663
664 mutable EmaString _toString;
665 MapEntry _entry;
666 SummaryData _summary;
667 mutable MapDecoder* _pDecoder;
668 mutable MapEncoder* _pEncoder;
669
670 Map( const Map& );
671 Map& operator=( const Map& );
672};
673
674}
675
676}
677
678}
679
680#endif // __refinitiv_ema_access_Map_h
#define EMA_ACCESS_API
Definition: Common.h:95
*|--------------------------------------------------------------------------—
Definition: AckMsg.h:62
short Int16
represents 16-bit signed integer
Definition: Common.h:50
unsigned int UInt32
represents 32-bit unsigned integer
Definition: Common.h:56
long long Int64
represents 64-bit signed integer
Definition: Common.h:74
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...
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
Map is a homogeneous container of complex data type entries.
Definition: Map.h:126
Map & addKeyAscii(const EmaString &key, MapEntry::MapAction action, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyDouble(double key, MapEntry::MapAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyUtf8(const EmaBuffer &key, MapEntry::MapAction action, const EmaBuffer &permissionData=EmaBuffer())
UInt32 getTotalCountHint() const
Map & totalCountHint(UInt32 totalCountHint)
Map & addKeyUInt(UInt64 key, MapEntry::MapAction action, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyState(OmmState::StreamState streamState, OmmState::DataState dataState, UInt8 statusCode, const EmaString &statusText, MapEntry::MapAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyFloat(float key, MapEntry::MapAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyDate(UInt16 year, UInt8 month, UInt8 day, MapEntry::MapAction action, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyReal(Int64 mantissa, OmmReal::MagnitudeType magnitudeType, MapEntry::MapAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
Map & summaryData(const ComplexType &summaryData)
Map & addKeyReal(Int64 mantissa, OmmReal::MagnitudeType magnitudeType, MapEntry::MapAction action, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyRealFromDouble(double key, MapEntry::MapAction action, const ComplexType &value, OmmReal::MagnitudeType magnitudeType=OmmReal::Exponent0Enum, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyDateTime(UInt16 year, UInt8 month, UInt8 day, UInt8 hour, UInt8 minute, UInt8 second, UInt16 millisecond, UInt16 microsecond, UInt16 nanosecond, MapEntry::MapAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyState(OmmState::StreamState streamState, OmmState::DataState dataState, UInt8 statusCode, const EmaString &statusText, MapEntry::MapAction action, const EmaBuffer &permissionData=EmaBuffer())
const EmaBuffer & getAsHex() const
Map & keyType(DataType::DataTypeEnum keyPrimitiveType)
Map & addKeyEnum(UInt16 key, MapEntry::MapAction action, const EmaBuffer &permissionData=EmaBuffer())
const MapEntry & getEntry() const
Map & addKeyDate(UInt16 year, UInt8 month, UInt8 day, MapEntry::MapAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
DataType::DataTypeEnum getDataType() const
const SummaryData & getSummaryData() const
Map & addKeyFloat(float key, MapEntry::MapAction action, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyInt(Int64 key, MapEntry::MapAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
const EmaString & toString(const refinitiv::ema::rdm::DataDictionary &dictionary) const
Map & addKeyRmtes(const EmaBuffer &key, MapEntry::MapAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyBuffer(const EmaBuffer &key, MapEntry::MapAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyDouble(double key, MapEntry::MapAction action, const EmaBuffer &permissionData=EmaBuffer())
Map & keyFieldId(Int16 fieldId)
Map & addKeyTime(UInt8 hour, UInt8 minute, UInt8 second, UInt16 millisecond, UInt16 microsecond, UInt16 nanosecond, MapEntry::MapAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyEnum(UInt16 key, MapEntry::MapAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyRealFromDouble(double key, MapEntry::MapAction action, OmmReal::MagnitudeType magnitudeType=OmmReal::Exponent0Enum, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyBuffer(const EmaBuffer &key, MapEntry::MapAction action, const EmaBuffer &permissionData=EmaBuffer())
const EmaString & toString() const
Map & addKeyInt(Int64 key, MapEntry::MapAction action, const EmaBuffer &permissionData=EmaBuffer())
Data::DataCode getCode() const
Map & addKeyUInt(UInt64 key, MapEntry::MapAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyQos(UInt32 timeliness, UInt32 rate, MapEntry::MapAction action, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyTime(UInt8 hour, UInt8 minute, UInt8 second, UInt16 millisecond, UInt16 microsecond, UInt16 nanosecond, MapEntry::MapAction action, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyAscii(const EmaString &key, MapEntry::MapAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyQos(UInt32 timeliness, UInt32 rate, MapEntry::MapAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyDateTime(UInt16 year, UInt8 month, UInt8 day, UInt8 hour, UInt8 minute, UInt8 second, UInt16 millisecond, UInt16 microsecond, UInt16 nanosecond, MapEntry::MapAction action, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyUtf8(const EmaBuffer &key, MapEntry::MapAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
Map & addKeyRmtes(const EmaBuffer &key, MapEntry::MapAction action, const EmaBuffer &permissionData=EmaBuffer())
MapEntry represents an entry of Map.
Definition: MapEntry.h:96
SummaryData is used to convey Omm SummaryData information optionally present on Map,...
Definition: SummaryData.h:99