EMA C++ Edition
List of all members
refinitiv::ema::rdm::DataDictionary Class Reference

Public Member Functions

Constructor
 DataDictionary ()
  More...
 
 DataDictionary (const DataDictionary &)
  More...
 
Destructor
virtual ~DataDictionary ()
  More...
 
Accessors
refinitiv::ema::access::Int32 getMinFid () const
  More...
 
refinitiv::ema::access::Int32 getMaxFid () const
  More...
 
const refinitiv::ema::access::EmaVector< DictionaryEntry > & getEntries () const
  More...
 
const refinitiv::ema::access::EmaVector< EnumTypeTable > & getEnumTables () const
  More...
 
refinitiv::ema::access::Int32 getDictionaryId () const
  More...
 
const refinitiv::ema::access::EmaStringgetFieldVersion () const
  More...
 
const refinitiv::ema::access::EmaStringgetEnumRecordTemplateVersion () const
  More...
 
const refinitiv::ema::access::EmaStringgetEnumDisplayTemplateVersion () const
  More...
 
const refinitiv::ema::access::EmaStringgetFieldFilename () const
  More...
 
const refinitiv::ema::access::EmaStringgetFieldDescription () const
  More...
 
const refinitiv::ema::access::EmaStringgetFieldBuild () const
  More...
 
const refinitiv::ema::access::EmaStringgetFieldDate () const
  More...
 
const refinitiv::ema::access::EmaStringgetEnumFilename () const
  More...
 
const refinitiv::ema::access::EmaStringgetEnumDescription () const
  More...
 
const refinitiv::ema::access::EmaStringgetEnumDate () const
  More...
 
bool hasEntry (refinitiv::ema::access::Int16 fieldId) const
  More...
 
void getEntry (refinitiv::ema::access::Int16 fieldId, DictionaryEntry &entry) const
  More...
 
const DictionaryEntrygetEntry (refinitiv::ema::access::Int16 fieldId) const
  More...
 
bool hasEntry (const refinitiv::ema::access::EmaString &fieldName) const
  More...
 
void getEntry (const refinitiv::ema::access::EmaString &fieldName, DictionaryEntry &entry) const
  More...
 
const DictionaryEntrygetEntry (const refinitiv::ema::access::EmaString &fieldName) const
  More...
 
bool hasEnumType (refinitiv::ema::access::Int16 fieldId, refinitiv::ema::access::UInt16 value) const
  More...
 
const EnumTypegetEnumType (refinitiv::ema::access::Int16 fieldId, refinitiv::ema::access::UInt16 value) const
  More...
 

Operations

class refinitiv::ema::access::DictionaryCallbackClient
 
class refinitiv::ema::access::FieldListDecoder
 
class refinitiv::ema::access::OmmConsumerImpl
 
class refinitiv::ema::access::OmmConsumerConfigImpl
 
class refinitiv::ema::access::PostMsg
 
class refinitiv::ema::access::AckMsg
 
class refinitiv::ema::access::GenericMsg
 
class refinitiv::ema::access::RefreshMsg
 
class refinitiv::ema::access::ReqMsg
 
class refinitiv::ema::access::StatusMsg
 
class refinitiv::ema::access::UpdateMsg
 
class refinitiv::ema::access::FilterList
 
class refinitiv::ema::access::Map
 
class refinitiv::ema::access::Series
 
class refinitiv::ema::access::Vector
 
class refinitiv::ema::access::ElementList
 
class refinitiv::ema::access::FieldList
 
class refinitiv::ema::access::OmmArray
 
void clear ()
  More...
 
void loadFieldDictionary (const refinitiv::ema::access::EmaString &filename)
  More...
 
void loadEnumTypeDictionary (const refinitiv::ema::access::EmaString &filename)
  More...
 
void encodeFieldDictionary (refinitiv::ema::access::Series &series, refinitiv::ema::access::UInt32 verbosity)
  More...
 
bool encodeFieldDictionary (refinitiv::ema::access::Series &series, refinitiv::ema::access::Int32 &currentFid, refinitiv::ema::access::UInt32 verbosity, refinitiv::ema::access::UInt32 fragmentationSize)
  More...
 
void decodeFieldDictionary (const refinitiv::ema::access::Series &series, refinitiv::ema::access::UInt32 verbosity)
  More...
 
void encodeEnumTypeDictionary (refinitiv::ema::access::Series &series, refinitiv::ema::access::UInt32 verbosity)
  More...
 
bool encodeEnumTypeDictionary (refinitiv::ema::access::Series &series, refinitiv::ema::access::Int32 &enumTableCount, refinitiv::ema::access::UInt32 verbosity, refinitiv::ema::access::UInt32 fragmentationSize)
  More...
 
void decodeEnumTypeDictionary (const refinitiv::ema::access::Series &series, refinitiv::ema::access::UInt32 verbosity)
  More...
 
refinitiv::ema::access::UInt32 extractDictionaryType (const refinitiv::ema::access::Series &series)
  More...
 
bool isFieldDictionaryLoaded () const
  More...
 
bool isEnumTypeDefLoaded () const
  More...
 
const refinitiv::ema::access::EmaStringtoString () const
  More...
 
 operator const char * () const
  More...
 

Detailed Description

Definition at line 68 of file DataDictionary.h.

Constructor & Destructor Documentation

◆ DataDictionary() [1/2]

refinitiv::ema::rdm::DataDictionary::DataDictionary ( )

Constructs DataDictionary.

◆ DataDictionary() [2/2]

refinitiv::ema::rdm::DataDictionary::DataDictionary ( const DataDictionary )

Copy Constructor.

◆ ~DataDictionary()

virtual refinitiv::ema::rdm::DataDictionary::~DataDictionary ( )
virtual

Destructor.

Member Function Documentation

◆ clear()

void refinitiv::ema::rdm::DataDictionary::clear ( )

Clears DataDictionary.

This method is used to clear the existing dictionary information.

◆ decodeEnumTypeDictionary()

void refinitiv::ema::rdm::DataDictionary::decodeEnumTypeDictionary ( const refinitiv::ema::access::Series series,
refinitiv::ema::access::UInt32  verbosity 
)

Decode the enumerated types information contained in an encoded enum types dictionary according to the domain model. This method may be called multiple times on the same dictionary, to load information from dictionaries that have been encoded in multiple parts.

Parameters
[in]seriesspecifies Series to be used for decoding enumerated types information from.
[in]verbosityspecifies the desired verbosity to decode.
Exceptions
OmmInvalidUsageExceptionif fails to decode enumerated types dictionary.
Remarks
see verbosity definition at "Rdm/Include/EmaRdm.h"

◆ decodeFieldDictionary()

void refinitiv::ema::rdm::DataDictionary::decodeFieldDictionary ( const refinitiv::ema::access::Series series,
refinitiv::ema::access::UInt32  verbosity 
)

Decode the field dictionary information contained in a data payload according to the domain model. This method may be called multiple times on the same dictionary, to load information from dictionaries that have been encoded in multiple parts.

Parameters
[in]seriesspecifies Series to be used for decoding dictionary information from.
[in]verbosityspecifies the desired verbosity to decode.
Exceptions
OmmInvalidUsageExceptionif fails to decode field dictionary information.
Remarks
see verbosity definition at "Rdm/Include/EmaRdm.h"

◆ encodeEnumTypeDictionary() [1/2]

bool refinitiv::ema::rdm::DataDictionary::encodeEnumTypeDictionary ( refinitiv::ema::access::Series series,
refinitiv::ema::access::Int32 enumTableCount,
refinitiv::ema::access::UInt32  verbosity,
refinitiv::ema::access::UInt32  fragmentationSize 
)

Encode the enumerated types dictionary according the domain model, using the information from the tables and referencing fields present in this dictionary. Note: This method will use the type Ascii for the DISPLAY array. This method supports building the encoded data in multiple parts according to the fragmentation size.

Parameters
[in]seriesspecifies Series to be used for encoding enumerated types dictionary into.
[in]enumTableCounttracks how many Enum table have been encoded in case of multi-part encoding. Must be initialized to 0 on the first call and is updated with each successfully encoded part
[in]verbosityspecifies the desired verbosity to encode.
[in]fragmentationSizespecifies the fragmentation size in number of bytes.
Returns
true to indicate final part or single complete payload otherwise false
Exceptions
OmmInvalidUsageExceptionif fails to encode enumerated types dictionary.
Remarks
see verbosity definition at "Rdm/Include/EmaRdm.h"

◆ encodeEnumTypeDictionary() [2/2]

void refinitiv::ema::rdm::DataDictionary::encodeEnumTypeDictionary ( refinitiv::ema::access::Series series,
refinitiv::ema::access::UInt32  verbosity 
)

Encode the enumerated types dictionary according the domain model, using the information from the tables and referencing fields present in this dictionary. Note: This method will use the type Ascii for the DISPLAY array.

Parameters
[in]seriesspecifies Series to be used for encoding enumerated types dictionary into.
[in]verbosityspecifies the desired verbosity to encode.
Exceptions
OmmInvalidUsageExceptionif fails to encode enumerated types dictionary.
Remarks
see verbosity definition at "Rdm/Include/EmaRdm.h"

◆ encodeFieldDictionary() [1/2]

bool refinitiv::ema::rdm::DataDictionary::encodeFieldDictionary ( refinitiv::ema::access::Series series,
refinitiv::ema::access::Int32 currentFid,
refinitiv::ema::access::UInt32  verbosity,
refinitiv::ema::access::UInt32  fragmentationSize 
)

Encode the field dictionary information into a data payload according the domain model, using the field information from the entries present in this dictionary. This method supports building the encoded data in multiple parts according to the fragmentation size.

Parameters
[in]seriesspecifies Series to be used for encoding dictionary information into.
[in]currentFidtracks which fields have been encoded in case of multi-part encoding. Must be initialized to getMinFid() on the first call and is updated with each successfully encoded part
[in]verbosityspecifies the desired verbosity to encode.
[in]fragmentationSizespecifies the fragmentation size in number of bytes.
Returns
true to indicate final part or single complete payload otherwise false
Exceptions
OmmInvalidUsageExceptionif fails to encode field dictionary information.
Remarks
see verbosity definition at "Rdm/Include/EmaRdm.h"

◆ encodeFieldDictionary() [2/2]

void refinitiv::ema::rdm::DataDictionary::encodeFieldDictionary ( refinitiv::ema::access::Series series,
refinitiv::ema::access::UInt32  verbosity 
)

Encode the field dictionary information into a data payload according the domain model, using the field information from the entries present in this dictionary. This method supports building the encoded data in one full part.

Parameters
[in]seriesspecifies Series to be used for encoding dictionary information into.
[in]verbosityspecifies the desired verbosity to encode.
Exceptions
OmmInvalidUsageExceptionif fails to encode field dictionary information.
Remarks
see verbosity definition at "Rdm/Include/EmaRdm.h"

◆ extractDictionaryType()

refinitiv::ema::access::UInt32 refinitiv::ema::rdm::DataDictionary::extractDictionaryType ( const refinitiv::ema::access::Series series)

Extract dictionary type from the encoded payload of a EMA message where the domain type is DICTIONARY.

Parameters
[in]seriesSeries to be used for extracting dictionary type.
Returns
The dictionary type defined in EmaRdm.
Exceptions
OmmInvalidUsageExceptionIf dictionary type is not available.
Remarks
see verbosity definition at "Rdm/Include/EmaRdm.h"

◆ getDictionaryId()

refinitiv::ema::access::Int32 refinitiv::ema::rdm::DataDictionary::getDictionaryId ( ) const

DictionaryId Tag. All dictionaries loaded using this object will have this tag matched if found.

Returns
the DictionaryId

◆ getEntries()

const refinitiv::ema::access::EmaVector<DictionaryEntry>& refinitiv::ema::rdm::DataDictionary::getEntries ( ) const

The list of DictionaryEntry of this DataDictionary.

Returns
the list of DictionaryEntry

◆ getEntry() [1/4]

const DictionaryEntry& refinitiv::ema::rdm::DataDictionary::getEntry ( const refinitiv::ema::access::EmaString fieldName) const

Returns the entry in the dictionary corresponding to the given fieldName, if the entry exists.

Parameters
[in]fieldNamespecifies the fieldId to get the dictionary entry for
Exceptions
OmmInvalidUsageExceptionif the entry does not exist
Returns
the dictionary entry if it exists

◆ getEntry() [2/4]

void refinitiv::ema::rdm::DataDictionary::getEntry ( const refinitiv::ema::access::EmaString fieldName,
DictionaryEntry entry 
) const

Returns the entry in the dictionary corresponding to the given fieldName, if the entry exists.

Parameters
[in]fieldNamespecifies the fieldId to get the dictionary entry for @entry[out] the entry in the dictionary corresponding to the given fieldName, if the entry exists
Exceptions
OmmInvalidUsageExceptionif the entry does not exist Same like DataDictionary#getEntry(const refinitiv::ema::access::EmaString&) note, entry should be created first and managed by the user

◆ getEntry() [3/4]

const DictionaryEntry& refinitiv::ema::rdm::DataDictionary::getEntry ( refinitiv::ema::access::Int16  fieldId) const

Returns the entry in the dictionary corresponding to the given fieldId, if the entry exists.

Parameters
[in]fieldIdspecifies the fieldId to get the dictionary entry for
Exceptions
OmmInvalidUsageExceptionif the entry does not exist
Returns
the dictionary entry if it exists

◆ getEntry() [4/4]

void refinitiv::ema::rdm::DataDictionary::getEntry ( refinitiv::ema::access::Int16  fieldId,
DictionaryEntry entry 
) const

Returns the entry in the dictionary corresponding to the given fieldId, if the entry exists.

Parameters
[in]fieldIdspecifies the fieldId to get the dictionary entry for @entry[out] the entry in the dictionary corresponding to the given fieldId, if the entry exists
Exceptions
OmmInvalidUsageExceptionif the entry does not exist Same like DataDictionary#getEntry(refinitiv::ema::access::Int16) note, entry should be created first and managed by the user

◆ getEnumDate()

const refinitiv::ema::access::EmaString& refinitiv::ema::rdm::DataDictionary::getEnumDate ( ) const

Enum Date Tag.

Returns
the EnumDate

◆ getEnumDescription()

const refinitiv::ema::access::EmaString& refinitiv::ema::rdm::DataDictionary::getEnumDescription ( ) const

Enum Description Tag.

Returns
the EnumDescription

◆ getEnumDisplayTemplateVersion()

const refinitiv::ema::access::EmaString& refinitiv::ema::rdm::DataDictionary::getEnumDisplayTemplateVersion ( ) const

Enum DT_Version Tag.

Returns
the EnumDisplayTemplateVersion

◆ getEnumFilename()

const refinitiv::ema::access::EmaString& refinitiv::ema::rdm::DataDictionary::getEnumFilename ( ) const

Enum Filename Tag.

Returns
the EnumFilename

◆ getEnumRecordTemplateVersion()

const refinitiv::ema::access::EmaString& refinitiv::ema::rdm::DataDictionary::getEnumRecordTemplateVersion ( ) const

Enum RT_Version Tag.

Returns
the EnumRecordTemplateVersion

◆ getEnumTables()

const refinitiv::ema::access::EmaVector<EnumTypeTable>& refinitiv::ema::rdm::DataDictionary::getEnumTables ( ) const

The list of EnumTypeTable of this DataDictionary.

Returns
the list of EnumTypeTable

◆ getEnumType()

const EnumType& refinitiv::ema::rdm::DataDictionary::getEnumType ( refinitiv::ema::access::Int16  fieldId,
refinitiv::ema::access::UInt16  value 
) const

Returns the corresponding enumerated type in the dictionary entry's table, if the type exists.

Parameters
[in]fieldIdspecifies the fieldId to get the enumerated type from
[in]valuespecifies the value of the enumerated type to get
Exceptions
OmmInvalidUsageExceptionif the entry does not exist
Returns
the enumerated type if it exists

◆ getFieldBuild()

const refinitiv::ema::access::EmaString& refinitiv::ema::rdm::DataDictionary::getFieldBuild ( ) const

Field Build Tag.

Returns
the FieldBuild

◆ getFieldDate()

const refinitiv::ema::access::EmaString& refinitiv::ema::rdm::DataDictionary::getFieldDate ( ) const

Field Date Tag.

Returns
the FieldDate

◆ getFieldDescription()

const refinitiv::ema::access::EmaString& refinitiv::ema::rdm::DataDictionary::getFieldDescription ( ) const

Field Description Tag.

Returns
the FieldDescription

◆ getFieldFilename()

const refinitiv::ema::access::EmaString& refinitiv::ema::rdm::DataDictionary::getFieldFilename ( ) const

Field Filename Tag.

Returns
the FieldFilename

◆ getFieldVersion()

const refinitiv::ema::access::EmaString& refinitiv::ema::rdm::DataDictionary::getFieldVersion ( ) const

Field Version Tag.

Returns
the FieldVersion

◆ getMaxFid()

refinitiv::ema::access::Int32 refinitiv::ema::rdm::DataDictionary::getMaxFid ( ) const

The highest fieldId present in the dictionary.

Returns
the maxFid

◆ getMinFid()

refinitiv::ema::access::Int32 refinitiv::ema::rdm::DataDictionary::getMinFid ( ) const

The lowest fieldId present in the dictionary.

Returns
the minFid

◆ hasEntry() [1/2]

bool refinitiv::ema::rdm::DataDictionary::hasEntry ( const refinitiv::ema::access::EmaString fieldName) const

Check whether the DictionaryEntry exists

Parameters
[in]fieldNamethe field name to check the dictionary entry
Returns
true if the DictionaryEntry exists otherwise false

◆ hasEntry() [2/2]

bool refinitiv::ema::rdm::DataDictionary::hasEntry ( refinitiv::ema::access::Int16  fieldId) const

Check whether the DictionaryEntry exists

Parameters
[in]fieldIdthe fieldId to check the dictionary entry
Returns
true if the DictionaryEntry exists otherwise false

◆ hasEnumType()

bool refinitiv::ema::rdm::DataDictionary::hasEnumType ( refinitiv::ema::access::Int16  fieldId,
refinitiv::ema::access::UInt16  value 
) const

Check whether the EnumType exists

Parameters
[in]fieldIdthe fieldId to check the enumerated type
[in]valuethe value of the enumerated type to check
Returns
the enumerated type if it exists

◆ isEnumTypeDefLoaded()

bool refinitiv::ema::rdm::DataDictionary::isEnumTypeDefLoaded ( ) const

Check whether the EnumTypeDef has been loaded or not.

Returns
true if EnumTypeDef has been loaded, otherwise false.

◆ isFieldDictionaryLoaded()

bool refinitiv::ema::rdm::DataDictionary::isFieldDictionaryLoaded ( ) const

Check whether the Field Dictionary has been loaded or not.

Returns
true if Field Dictionary has been loaded, otherwise false.

◆ loadEnumTypeDictionary()

void refinitiv::ema::rdm::DataDictionary::loadEnumTypeDictionary ( const refinitiv::ema::access::EmaString filename)

Adds information from an enumerated types dictionary file to the data dictionary object. Subsequent calls to this method may be made to the same DataDictionary to load additional dictionaries (provided that there are no duplicate table references for any field).

Parameters
[in]filenamespecifies an enumerated types dictionary file
Exceptions
OmmInvalidUsageExceptionif fails to load from the specified file name from filename.

◆ loadFieldDictionary()

void refinitiv::ema::rdm::DataDictionary::loadFieldDictionary ( const refinitiv::ema::access::EmaString filename)

Adds information from a field dictionary file to the data dictionary object. Subsequent calls to this method may be made to the same DataDictionary to load additional dictionaries (provided the fields do not conflict).

Parameters
[in]filenamespecifies a field dictionary file
Exceptions
OmmInvalidUsageExceptionif fails to load from the specified file name from filename.

◆ operator const char *()

refinitiv::ema::rdm::DataDictionary::operator const char * ( ) const

Operator const char* overload.

Exceptions
OmmMemoryExhaustionExceptionif app runs out of memory

◆ toString()

const refinitiv::ema::access::EmaString& refinitiv::ema::rdm::DataDictionary::toString ( ) const

Returns a string representation of the class instance.

Exceptions
OmmMemoryExhaustionExceptionif app runs out of memory
Returns
string representation of the class instance