Hi all,
using the Refinitiv EMA C++ library (3.6.1.L2), I'm seeing a weird behavior.
The application is a consumer, downloading the DataDictionary from the network.
The dictionary contains custom entries, which are using negative IDs.
The consumer downloads and decodes the dictionary without issues: I can inspect and access the custom entries using e.g.
const DictionaryEntry& getEntry(const refinitiv::ema::access::EmaString& fieldName) const;
However, when I print the whole dictionary object (e.g. to save the content to a file, just for troubleshooting), the dictionary lists only the entries with non-negative IDs.
Note: the header of the output actually shows a correct summary, but the following detailed list of entries is partial.
Data Dictionary Dump: MinFid=-23627 MaxFid=32766 NumEntries 20955
Is this expected? How can I get the entire list of entries?
Thanks
Best Regards,
Paolo
Ps: the code is similar to the following:
DataDictionary _dataDictionary; ... switch (msg.getPayload().getDataType()) { case DataType::SeriesEnum: { if (msg.getName() == "RWFFld") { _dataDictionary.decodeFieldDictionary(msg.getPayload().getSeries(), DICTIONARY_NORMAL); _fldDictComplete |= complete; } else if (msg.getName() == "RWFEnum") { _dataDictionary.decodeEnumTypeDictionary(msg.getPayload().getSeries(), DICTIONARY_NORMAL); _enumTypeComplete |= complete; } if (_fldDictComplete && _enumTypeComplete) { ofstream fidDbDumpFile; fidDbDumpFile.open(dictDumpFileName); fidDbDumpFile << _dataDictionary << endl; fidDbDumpFile.close(); } break; } }