EMA C++ Edition
List of all members
refinitiv::ema::access::StatusMsg Class Reference

StatusMsg conveys item state information. More...

Inheritance diagram for refinitiv::ema::access::StatusMsg:
refinitiv::ema::access::Msg refinitiv::ema::access::ComplexType refinitiv::ema::access::Data

Public Member Functions

Constructor
 StatusMsg ()
  More...
 
 StatusMsg (const StatusMsg &other)
  More...
 
virtual ~StatusMsg ()
  More...
 
Accessors
DataType::DataTypeEnum getDataType () const
  More...
 
Data::DataCode getCode () const
  More...
 
const EmaBuffergetAsHex () const
  More...
 
const EmaStringtoString () const
  More...
 
const EmaStringtoString (const refinitiv::ema::rdm::DataDictionary &dictionary) const
  More...
 
bool hasItemGroup () const
  More...
 
bool hasState () const
  More...
 
bool hasPermissionData () const
  More...
 
bool hasPublisherId () const
  More...
 
bool hasServiceName () const
  More...
 
const OmmStategetState () const
  More...
 
const EmaBuffergetItemGroup () const
  More...
 
const EmaBuffergetPermissionData () const
  More...
 
UInt32 getPublisherIdUserId () const
  More...
 
UInt32 getPublisherIdUserAddress () const
  More...
 
bool getClearCache () const
  More...
 
bool getPrivateStream () const
  More...
 
const EmaStringgetServiceName () const
  More...
 
- Public Member Functions inherited from refinitiv::ema::access::Msg
bool hasMsgKey () const
  More...
 
bool hasName () const
  More...
 
bool hasNameType () const
  More...
 
bool hasServiceId () const
  More...
 
bool hasId () const
  More...
 
bool hasFilter () const
  More...
 
bool hasExtendedHeader () const
  More...
 
Int32 getStreamId () const
  More...
 
UInt16 getDomainType () const
  More...
 
const EmaStringgetName () const
  More...
 
UInt8 getNameType () const
  More...
 
UInt32 getServiceId () const
  More...
 
Int32 getId () const
  More...
 
UInt32 getFilter () const
  More...
 
const EmaBuffergetExtendedHeader () const
  More...
 
const AttribgetAttrib () const
  More...
 
const PayloadgetPayload () const
  More...
 
virtual ~Msg ()
  More...
 
- Public Member Functions inherited from refinitiv::ema::access::ComplexType
virtual ~ComplexType ()
  More...
 
- Public Member Functions inherited from refinitiv::ema::access::Data
const EmaStringgetCodeAsString () const
  More...
 
 operator const char * () const
  More...
 
virtual ~Data ()
  More...
 

Operations

class ItemCallbackClient
 
class DictionaryCallbackClient
 
StatusMsgclear ()
  More...
 
StatusMsgstreamId (Int32 streamId)
  More...
 
StatusMsgdomainType (UInt16 domainType=refinitiv::ema::rdm::MMT_MARKET_PRICE)
  More...
 
StatusMsgname (const EmaString &name)
  More...
 
StatusMsgnameType (UInt8 nameType=rdm::INSTRUMENT_NAME_RIC)
  More...
 
StatusMsgserviceName (const EmaString &serviceName)
  More...
 
StatusMsgserviceId (UInt32 serviceId)
  More...
 
StatusMsgid (Int32 id)
  More...
 
StatusMsgfilter (UInt32 filter)
  More...
 
StatusMsgstate (OmmState::StreamState streamState=OmmState::OpenEnum, OmmState::DataState dataState=OmmState::OkEnum, UInt8 statusCode=OmmState::NoneEnum, const EmaString &statusText=EmaString())
  More...
 
StatusMsgitemGroup (const EmaBuffer &itemGroup)
  More...
 
StatusMsgpermissionData (const EmaBuffer &permissionData)
  More...
 
StatusMsgpublisherId (UInt32 userId, UInt32 userAddress)
  More...
 
StatusMsgattrib (const ComplexType &data)
  More...
 
StatusMsgpayload (const ComplexType &data)
  More...
 
StatusMsgextendedHeader (const EmaBuffer &buffer)
  More...
 
StatusMsgclearCache (bool clearCache=false)
  More...
 
StatusMsgprivateStream (bool privateStream=false)
  More...
 

Additional Inherited Members

- Public Types inherited from refinitiv::ema::access::Data
enum  DataCode {
  NoCodeEnum = 0 ,
  BlankEnum = 1
}
 
- Protected Member Functions inherited from refinitiv::ema::access::Msg
 Msg ()
 
const Encoder & getEncoder () const
  More...
 
bool hasEncoder () const
  More...
 
void setDecoder (MsgDecoder *)
 
bool hasDecoder () const
  More...
 
- Protected Member Functions inherited from refinitiv::ema::access::ComplexType
 ComplexType ()
 
- Protected Member Functions inherited from refinitiv::ema::access::Data
 Data ()
 
- Protected Attributes inherited from refinitiv::ema::access::Msg
MsgDecoder_pDecoder
 
MsgEncoder * _pEncoder
 
Attrib _attrib
 
Payload _payload
 

Detailed Description

StatusMsg is used to convey item state information, permission change or item group id change.

The following code snippet shows receiving and processing of StatusMsg.

class AppClient ; public OmmConsumerClient
{
...
void onStatusMsg( const StatusMsg& , const OmmConsumerEvent& );
};
void AppClient::onStatusMsg( const StatusMsg& statusMsg, const OmmConsumerEvent& event )
{
cout << "Item's handle = " << event.getHandle() << "\n";
if ( statusMsg.hasName() )
cout << "Item's name = " << statusMsg.getName() << "\n";
if ( statusMsg.hasServiceName() )
cout << "Item's name = " << statusMsg.getServiceName() << "\n";
if ( statusMsg.hasPermissionData() )
{
const EmaBuffer& permData = statusMsg.getPermissionData();
...
}
if ( statusMsg.hasState() )
{
const OmmState& itemState = statusMsg.getState();
...
}
}
Remarks
Calling get***() method on an optional member of StatusMsg must be preceded by a call to respective has***() method.
Objects of this class are intended to be short lived or rather transitional.
This class is designed to efficiently perform setting and getting of information from StatusMsg.
Objects of this class are not cache-able.
Decoding of just encoded StatusMsg in the same application is not supported.
All methods in this class are Lock-free Method.
See also
Data, Msg, EmaString, EmaBuffer

Definition at line 80 of file StatusMsg.h.

Constructor & Destructor Documentation

◆ StatusMsg() [1/2]

refinitiv::ema::access::StatusMsg::StatusMsg ( )

Constructs StatusMsg.

◆ StatusMsg() [2/2]

refinitiv::ema::access::StatusMsg::StatusMsg ( const StatusMsg other)

Copy constructor.

Remarks
this is used to copy and process StatusMsg outside of EMA's callback methods.
this method does not support passing in just encoded StatusMsg in the application space.

◆ ~StatusMsg()

virtual refinitiv::ema::access::StatusMsg::~StatusMsg ( )
virtual

Destructor.

Member Function Documentation

◆ attrib()

StatusMsg& refinitiv::ema::access::StatusMsg::attrib ( const ComplexType data)

Specifies Attrib.

Parameters
[in]attriban object of ComplexType
Returns
reference to this object

◆ clear()

StatusMsg& refinitiv::ema::access::StatusMsg::clear ( )

Clears the StatusMsg.

Remarks
Invoking clear() method clears all the values and resets all the defaults
Returns
reference to this object

◆ clearCache()

StatusMsg& refinitiv::ema::access::StatusMsg::clearCache ( bool  clearCache = false)

Specifies ClearCache.

Parameters
[in]clearCachetrue if cache needs to be cleared; false otherwise (default value is false)
Returns
reference to this object

◆ domainType()

StatusMsg& refinitiv::ema::access::StatusMsg::domainType ( UInt16  domainType = refinitiv::ema::rdm::MMT_MARKET_PRICE)

Specifies DomainType.

Exceptions
OmmUnsupportedDomainTypeExceptionif domainType is greater than 255
Parameters
[in]domainTypespecifies RDM Message Model Type (default value is rdm::MMT_MARKET_PRICE)
Returns
reference to this object

◆ extendedHeader()

StatusMsg& refinitiv::ema::access::StatusMsg::extendedHeader ( const EmaBuffer buffer)

Specifies ExtendedHeader.

Parameters
[in]bufferan EmaBuffer containing extendedHeader information
Returns
reference to this object

◆ filter()

StatusMsg& refinitiv::ema::access::StatusMsg::filter ( UInt32  filter)

Specifies Filter.

Parameters
[in]filterspecifies filter
Returns
reference to this object

◆ getAsHex()

const EmaBuffer& refinitiv::ema::access::StatusMsg::getAsHex ( ) const
virtual

Returns a buffer that in turn provides an alphanumeric null-terminated hexadecimal string representation.

Returns
a buffer with the message hex information

Implements refinitiv::ema::access::Data.

◆ getClearCache()

bool refinitiv::ema::access::StatusMsg::getClearCache ( ) const

Returns ClearCache.

Returns
true if cache needs to be cleared on receipt of this status message; false otherwise

◆ getCode()

Data::DataCode refinitiv::ema::access::StatusMsg::getCode ( ) const
virtual

Returns the Code, which indicates a special state of a DataType.

Returns
Data::NoCodeEnum

Implements refinitiv::ema::access::Data.

◆ getDataType()

DataType::DataTypeEnum refinitiv::ema::access::StatusMsg::getDataType ( ) const
virtual

Returns the DataType, which is the type of Omm data. Results in this class type.

Returns
DataType::StatusMsgEnum

Implements refinitiv::ema::access::Data.

◆ getItemGroup()

const EmaBuffer& refinitiv::ema::access::StatusMsg::getItemGroup ( ) const

Returns ItemGroup.

Exceptions
OmmInvalidUsageExceptionif hasItemGroup() returns false
Returns
EmaBuffer containing item group information

◆ getPermissionData()

const EmaBuffer& refinitiv::ema::access::StatusMsg::getPermissionData ( ) const

Returns PermissionData.

Exceptions
OmmInvalidUsageExceptionif hasPermissionData() returns false
Returns
EmaBuffer containing permission data information

◆ getPrivateStream()

bool refinitiv::ema::access::StatusMsg::getPrivateStream ( ) const

Returns PrivateStream. @retturn true if this is private stream item; false otherwise

◆ getPublisherIdUserAddress()

UInt32 refinitiv::ema::access::StatusMsg::getPublisherIdUserAddress ( ) const

Returns PublisherIdUserAddress.

Exceptions
OmmInvalidUsageExceptionif hasPublisherId() returns false
Returns
publisher's user address

◆ getPublisherIdUserId()

UInt32 refinitiv::ema::access::StatusMsg::getPublisherIdUserId ( ) const

Returns PublisherIdUserId.

Exceptions
OmmInvalidUsageExceptionif hasPublisherId() returns false
Returns
publisher's user Id

◆ getServiceName()

const EmaString& refinitiv::ema::access::StatusMsg::getServiceName ( ) const

Returns the ServiceName within the MsgKey.

Returns
EmaString containing service name

◆ getState()

const OmmState& refinitiv::ema::access::StatusMsg::getState ( ) const

Returns State.

Exceptions
OmmInvalidUsageExceptionif hasState() returns false
Returns
state of item (e.g. Open / Ok)

◆ hasItemGroup()

bool refinitiv::ema::access::StatusMsg::hasItemGroup ( ) const

Indicates presence of ItemGroup.

Remarks
Item Group is an optional member of StatusMsg
Returns
true if Item Group information is set; false otherwise

◆ hasPermissionData()

bool refinitiv::ema::access::StatusMsg::hasPermissionData ( ) const

Indicates presence of PermissionData.

Remarks
permission data is optional member of StatusMsg
Returns
true if permission data is set; false otherwise

◆ hasPublisherId()

bool refinitiv::ema::access::StatusMsg::hasPublisherId ( ) const

Indicates presence of PublisherId.

Remarks
publisher id is an optional member of StatusMsg
Returns
true if publisher id is set; false otherwise

◆ hasServiceName()

bool refinitiv::ema::access::StatusMsg::hasServiceName ( ) const

Indicates presence of the ServiceName within the MsgKey.

Remarks
service name is an optional member of StatusMsg
Returns
true if service name is set; false otherwise

◆ hasState()

bool refinitiv::ema::access::StatusMsg::hasState ( ) const

Indicates presence of State.

Remarks
Item State is an optional member of StatusMsg
Returns
true if state information is set; false otherwise

◆ id()

StatusMsg& refinitiv::ema::access::StatusMsg::id ( Int32  id)

Specifies Id.

Parameters
[in]idspecifies Id
Returns
reference to this object

◆ itemGroup()

StatusMsg& refinitiv::ema::access::StatusMsg::itemGroup ( const EmaBuffer itemGroup)

Specifies ItemGroup.

Parameters
[in]itemGroupan EmaBuffer object with item group information
Returns
reference to this object

◆ name()

StatusMsg& refinitiv::ema::access::StatusMsg::name ( const EmaString name)

Specifies Name.

Parameters
[in]namespecifies item name
Returns
reference to this object

◆ nameType()

StatusMsg& refinitiv::ema::access::StatusMsg::nameType ( UInt8  nameType = rdm::INSTRUMENT_NAME_RIC)

Specifies NameType.

Parameters
[in]nameTypespecifies RDM Instrument NameType (default value is rdm::INSTRUMENT_NAME_RIC)
Returns
reference to this object

◆ payload()

StatusMsg& refinitiv::ema::access::StatusMsg::payload ( const ComplexType data)

Specifies Payload.

Parameters
[in]payloadan object of ComplexType
Returns
reference to this object

◆ permissionData()

StatusMsg& refinitiv::ema::access::StatusMsg::permissionData ( const EmaBuffer permissionData)

Specifies PermissionData.

Parameters
[in]permissionDataan EmaBuffer object with permission data information
Returns
reference to this object

◆ privateStream()

StatusMsg& refinitiv::ema::access::StatusMsg::privateStream ( bool  privateStream = false)

Specifies PrivateStream.

Parameters
[in]privateStreamtrue if private stream; false otherwise (default value is false)
Returns
reference to this object

◆ publisherId()

StatusMsg& refinitiv::ema::access::StatusMsg::publisherId ( UInt32  userId,
UInt32  userAddress 
)

Specifies PublisherId.

Parameters
[in]UserIdspecifies publisher's user id
[in]UserAddressspecifies publisher's user address
Returns
reference to this object

◆ serviceId()

StatusMsg& refinitiv::ema::access::StatusMsg::serviceId ( UInt32  serviceId)

Specifies ServiceId.

Exceptions
OmmInvalidUsageExceptionif service name is already set
Parameters
[in]serviceIdspecifies service id
Returns
reference to this object

◆ serviceName()

StatusMsg& refinitiv::ema::access::StatusMsg::serviceName ( const EmaString serviceName)

Specifies ServiceName.

Exceptions
OmmInvalidUsageExceptionif service id is already set
Parameters
[in]serviceNamespecifies service name
Returns
reference to this object

◆ state()

StatusMsg& refinitiv::ema::access::StatusMsg::state ( OmmState::StreamState  streamState = OmmState::OpenEnum,
OmmState::DataState  dataState = OmmState::OkEnum,
UInt8  statusCode = OmmState::NoneEnum,
const EmaString statusText = EmaString() 
)

Specifies State.

Parameters
[in]streamStateconveys item stream state value (default value is OmmState::OpenEnum)
[in]dataStateconveys item data state value (default value is OmmState::SuspectEnum)
[in]statusCodeconveys specific item state code (default value is OmmState::NoneEnum)
[in]statusTextconveys item status explanation (default value is 'empty string')
Returns
reference to this object

◆ streamId()

StatusMsg& refinitiv::ema::access::StatusMsg::streamId ( Int32  streamId)

Specifies StreamId.

Parameters
[in]streamIdspecifies stream id
Returns
reference to this object

◆ toString() [1/2]

const EmaString& refinitiv::ema::access::StatusMsg::toString ( ) const
virtual

Returns a string representation of the class instance.

Returns
string representation of the class instance

Implements refinitiv::ema::access::Data.

◆ toString() [2/2]

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

Returns a string representation of the class instance for just encoded object.

Parameters
[in]dictionaryuse for toString() conversion
Returns
string representation of the class instance