#include <blpapi_eventformatter.h>
Public Member Functions | |
EventFormatter (Event &event) | |
~EventFormatter () | |
void | appendMessage (const char *messageType, const Topic &topic) |
void | appendMessage (const Name &messageType, const Topic &topic) |
void | appendMessage (const char *messageType, const Topic &topic, unsigned int sequenceNumber) |
void | appendMessage (const Name &messageType, const Topic &topic, unsigned int sequenceNumber) |
void | appendResponse (const char *opType) |
void | appendResponse (const Name &opType) |
void | appendRecapMessage (const Topic &topic, const CorrelationId *cid=0) |
void | appendRecapMessage (const Topic &topic, Message::Fragment fragmentType) |
void | appendRecapMessage (const Name &messageType, const Topic &topic, Message::Fragment fragmentType=Message::FRAGMENT_NONE) |
void | appendRecapMessage (const char *messageType, const Topic &topic, Message::Fragment fragmentType=Message::FRAGMENT_NONE) |
void | appendRecapMessage (const Topic &topic, unsigned int sequenceNumber, const CorrelationId *cid=0) |
void | appendRecapMessage (const Name &messageType, const Topic &topic, unsigned int sequenceNumber) |
void | appendRecapMessage (const char *messageType, const Topic &topic, unsigned int sequenceNumber) |
void | appendRecapMessage (const Topic &topic, Message::Fragment fragmentType, unsigned int sequenceNumber) |
void | appendRecapMessage (const Name &messageType, const Topic &topic, Message::Fragment fragmentType, unsigned int sequenceNumber) |
void | appendRecapMessage (const char *messageType, const Topic &topic, Message::Fragment fragmentType, unsigned int sequenceNumber) |
void | appendRecapMessage (const CorrelationId &cid, Message::Fragment fragmentType=Message::FRAGMENT_NONE) |
void | appendRecapMessage (const Name &messageType, const CorrelationId &cid, Message::Fragment fragmentType=Message::FRAGMENT_NONE) |
void | appendRecapMessage (const char *messageType, const CorrelationId &cid, Message::Fragment fragmentType=Message::FRAGMENT_NONE) |
void | setElement (const char *name, bool value) |
void | setElement (const char *name, char value) |
void | setElement (const char *name, Int32 value) |
void | setElement (const char *name, Int64 value) |
void | setElement (const char *name, Float32 value) |
void | setElement (const char *name, Float64 value) |
void | setElement (const char *name, const Datetime &value) |
void | setElement (const char *name, const Datetime::HighPrecision &value) |
void | setElement (const char *name, const char *value) |
void | setElement (const char *name, const Name &value) |
void | setElementNull (const char *name) |
void | setElement (const Name &name, bool value) |
void | setElement (const Name &name, char value) |
void | setElement (const Name &name, Int32 value) |
void | setElement (const Name &name, Int64 value) |
void | setElement (const Name &name, Float32 value) |
void | setElement (const Name &name, Float64 value) |
void | setElement (const Name &name, const Datetime &value) |
void | setElement (const Name &name, const Datetime::HighPrecision &value) |
void | setElement (const Name &name, const char *value) |
void | setElement (const Name &name, const Name &value) |
void | setElementNull (const Name &name) |
void | pushElement (const char *name) |
void | pushElement (const Name &name) |
void | popElement () |
void | appendValue (bool value) |
void | appendValue (char value) |
void | appendValue (Int32 value) |
void | appendValue (Int64 value) |
void | appendValue (Float32 value) |
void | appendValue (Float64 value) |
void | appendValue (const char *value) |
void | appendValue (const Name &value) |
void | appendValue (const Datetime &value) |
void | appendValue (const Datetime::HighPrecision &value) |
void | appendElement () |
EventFormatter is used to populate Event
s for publishing.
An EventFormatter is created from an Event obtained from createPublishEvent() on Service. Once the Message or Messages have been appended to the Event using the EventFormatter the Event can be published using publish() on the ProviderSession.
EventFormatter objects cannot be copied or assigned so as to ensure there is no ambiguity about what happens if two EventFormatter
s are both formatting the same Event
.
The EventFormatter supports appending message of the same type multiple time in the same Event
. However the EventFormatter
supports write once only to each field. It is an error to call setElement() or pushElement() for the same name more than once at a particular level of the schema when creating a message.
The EventFormatter supports appending recap messages with an user-provided messageType
. If the user doesn't specify the messageType
for the recap message, then the type is determined by the service schema, with the FORCED_RECAP_TICK_TYPE
message used for un-solicited recap messages, and RECAP_TICK_TYPE
used for solicited recap messages. In addition to that, services can send recaps in more than one tick through the fragmentType
flag for recap messages. Recap messages with fragmentType
other than Message::FRAGMENT_NONE
must send message fragments in order. A recap message with Message::FRAGMENT_START
may be followed by zero or more messages with fragmentType
Message::FRAGMENT_INTERMEDIATE
. Publishers must also publish a recap message with Message::FRAGMENT_END
for each recap that was started with Message::FRAGMENT_START
. Trying to publish recap messages with flags in a different order is undefined behavior.
blpapi::EventFormatter::EventFormatter | ( | Event & | event | ) |
Create an EventFormatter to create Messages in the specified Event
. An Event may only be reference by one EventFormatter at any time. Attempting to create a second EventFormatter referencing the same Event will result in an exception being thrown.
blpapi::EventFormatter::~EventFormatter | ( | ) |
Destroy this EventFormatter object.
void blpapi::EventFormatter::appendMessage | ( | const char * | messageType, | |
const Topic & | topic | |||
) |
Append an (empty) message of the specified messageType
that will be published under the specified topic
to the Event referenced by this EventFormatter. After a message has been appended its elements can be set using the various setElement() methods.
Append an (empty) message of the specified messageType
that will be published under the specified topic
to the Event referenced by this EventFormatter. After a message has been appended its elements can be set using the various setElement() methods.
void blpapi::EventFormatter::appendMessage | ( | const char * | messageType, | |
const Topic & | topic, | |||
unsigned int | sequenceNumber | |||
) |
Append an (empty) message of the specified messageType
that will be published under the specified topic
with the specified sequenceNumber
to the Event referenced by this EventFormatter. It is expected that sequenceNumber
is greater (unless the value wrapped) than the last value used in any previous message on this topic
, otherwise the behavior is undefined. After a message has been appended its elements can be set using the various setElement() methods.
void blpapi::EventFormatter::appendMessage | ( | const Name & | messageType, | |
const Topic & | topic, | |||
unsigned int | sequenceNumber | |||
) |
Append an (empty) message of the specified messageType
that will be published under the specified topic
with the specified sequenceNumber
to the Event referenced by this EventFormatter. It is expected that sequenceNumber
is greater (unless the value wrapped) than the last value used in any previous message on this topic
, otherwise the behavior is undefined. After a message has been appended its elements can be set using the various setElement() methods.
void blpapi::EventFormatter::appendResponse | ( | const char * | opType | ) |
Append an (empty) response message of the specified opType
that will be sent in response to previously received operation request. After a message has been appended its elements can be set using the various setElement() methods. Only one response can be appended.
void blpapi::EventFormatter::appendResponse | ( | const Name & | opType | ) |
Append an (empty) response message of the specified opType
that will be sent in response to previously received operation request. After a message has been appended its elements can be set using the various setElement() methods. Only one response can be appended.
void blpapi::EventFormatter::appendRecapMessage | ( | const Topic & | topic, | |
const CorrelationId * | cid = 0 | |||
) |
Append an empty recap message with the default messageType
that will be published under the specified topic
to the event referenced by this EventFormatter
. Specify the optional CorrelationId
pointer cid
if this recap message is added in response to a TOPIC_RECAP
message. It is undefined behavior to call this function with a non-null cid
for a TOPIC_RECAP message with a different Topic
than that referenced by topic
. This method will create a recap message with fragment type FRAGMENT_NONE
. After a message has been appended its elements can be set using the various setElement() methods. It is an error to append a recap message to an Admin event. This function overload is deprecated for non-null cid
. Utilize the overload appendRecapMessage(const CorrelationId& cid,...)
to respond to TOPIC_RECAP messages.
void blpapi::EventFormatter::appendRecapMessage | ( | const Topic & | topic, | |
Message::Fragment | fragmentType | |||
) |
Append an empty recap message with the default messageType
that will be published under the specified topic
to the event referenced by this EventFormatter
. The specified fragmentType
determines what fragment flag to apply to this recap message. Single-tick recap messages should have fragmentType
= Message::NONE Multi-tick recaps can have either Message::START, Message::INTERMEDIATE or Message::END as the fragmentType
. After a message has been appended its elements can be set using the various setElement() methods. It is an error to append a recap message to an Admin event. Note that it is undefined behavior to send multi-tick recaps with a fragment ordering other than one Message::START, and zero or more Message::INTERMEDIATE followed by a Message::END fragment. Refer to the component documentation for more information on message fragments.
void blpapi::EventFormatter::appendRecapMessage | ( | const Name & | messageType, | |
const Topic & | topic, | |||
Message::Fragment | fragmentType = Message::FRAGMENT_NONE | |||
) |
Append an empty recap message of type messageType
that will be published under the specified topic
to the event referenced by this EventFormatter
. Specify the optional fragmentType
to create a recap message with fragment type other than Message::FRAGMENT_NONE
, if fragmentType
is not provided, append a recap message with fragment type FRAGMENT_NONE
. Single-tick recap messages should have fragmentType
= Message::NONE. Multi-tick recaps can have either Message::START, Message::INTERMEDIATE or Message::END as the fragmentType
. After a message has been appended its elements can be set using the various setElement() methods. It is an error to append a recap message to an Admin event. Note that it is undefined behavior to send multi-tick recaps with a fragment ordering other than one Message::START, and zero or more Message::INTERMEDIATE followed by a Message::END fragment. Refer to the component documentation for more information on message fragments.
void blpapi::EventFormatter::appendRecapMessage | ( | const char * | messageType, | |
const Topic & | topic, | |||
Message::Fragment | fragmentType = Message::FRAGMENT_NONE | |||
) |
Append an empty recap message of type messageType
that will be published under the specified topic
to the event referenced by this EventFormatter
. Specify the optional fragmentType
to create a recap message with fragment type other than Message::FRAGMENT_NONE
, if fragmentType
is not provided, append a recap message with fragment type FRAGMENT_NONE
. Single-tick recap messages should have fragmentType
= Message::NONE. Multi-tick recaps can have either Message::START, Message::INTERMEDIATE or Message::END as the fragmentType
. After a message has been appended its elements can be set using the various setElement() methods. It is an error to append a recap message to an Admin event. Note that it is undefined behavior to send multi-tick recaps with a fragment ordering other than one Message::START, and zero or more Message::INTERMEDIATE followed by a Message::END fragment. Refer to the component documentation for more information on message fragments.
void blpapi::EventFormatter::appendRecapMessage | ( | const Topic & | topic, | |
unsigned int | sequenceNumber, | |||
const CorrelationId * | cid = 0 | |||
) |
Append an empty recap message with the default messageType
that will be published under the specified topic
with the specified sequenceNumber
to the event referenced by this EventFormatter
. Specify the optional CorrelationId pointer cid
if this recap message is added in response to a TOPIC_RECAP message. It is undefined behavior to call this function with a non-null cid
for a TOPIC_RECAP message with a different Topic
than that referenced by topic
. It is expected that sequenceNumber
is greater (unless the value wrapped) than the last value used in any previous message on this topic
, otherwise the behavior is undefined. This method will create a recap message with fragment type FRAGMENT_NONE
. After a message has been appended its elements can be set using the various setElement() methods. It is an error to append a recap message to an Admin event. Note that this function overload is deprecated for non-null cid
. Utilize the overload appendRecapMessage(const CorrelationId& cid,...)
to respond to TOPIC_RECAP messages. Specifying a sequenceNumber
for solicited recap messages results in undefined behavior.
void blpapi::EventFormatter::appendRecapMessage | ( | const Name & | messageType, | |
const Topic & | topic, | |||
unsigned int | sequenceNumber | |||
) |
Append an empty recap message of type messageType
that will be published under the specified topic
with the specified sequenceNumber
to the event referenced by this EventFormatter
. It is expected that sequenceNumber
is greater (unless the value wrapped) than the last value used in any previous message on this topic
, otherwise the behavior is undefined. This method will create a recap message with fragment type FRAGMENT_NONE
. After a message has been appended its elements can be set using the various setElement() methods. It is an error to append a recap message to an Admin event.
void blpapi::EventFormatter::appendRecapMessage | ( | const char * | messageType, | |
const Topic & | topic, | |||
unsigned int | sequenceNumber | |||
) |
Append an empty recap message of type messageType
that will be published under the specified topic
with the specified sequenceNumber
to the event referenced by this EventFormatter
. It is expected that sequenceNumber
is greater (unless the value wrapped) than the last value used in any previous message on this topic
, otherwise the behavior is undefined. This method will create a recap message with fragment type'FRAGMENT_NONE'. After a message has been appended its elements can be set using the various setElement() methods. It is an error to append a recap message to an Admin event.
void blpapi::EventFormatter::appendRecapMessage | ( | const Topic & | topic, | |
Message::Fragment | fragmentType, | |||
unsigned int | sequenceNumber | |||
) |
Append an empty recap message with the default messageType
that will be published under the specified topic
with the specified sequenceNumber
to the event referenced by this EventFormatter
. It is expected that sequenceNumber
is greater (unless the value wrapped) than the last value used in any previous message on this topic
, otherwise the behavior is undefined. The specified fragmentType
determines what fragment flag to apply to this recap message. Single-tick recap messages should have fragmentType
= Message::NONE. Multi-tick recaps can have either Message::START, Message::INTERMEDIATE or Message::END as the fragmentType
. After a message has been appended its elements can be set using the various setElement() methods. It is an error to append a recap message to an Admin event. Note that it is undefined behavior to send multi-tick recaps with a fragment ordering other than one Message::START, and zero or more Message::INTERMEDIATE followed by a Message::END fragment. Refer to the component documentation for more information on message fragments.
void blpapi::EventFormatter::appendRecapMessage | ( | const Name & | messageType, | |
const Topic & | topic, | |||
Message::Fragment | fragmentType, | |||
unsigned int | sequenceNumber | |||
) |
Append an empty recap message of the specified messageType
that will be published under the specified topic
with the specified sequenceNumber
to the event referenced by this EventFormatter
. It is expected that sequenceNumber
is greater (unless the value wrapped) than the last value used in any previous message on this topic
, otherwise the behavior is undefined.The specified fragmentType
determines what fragment flag to apply to this recap message. Single-tick recap messages should have fragmentType
= Message::NONE. Multi-tick recaps can have either Message::START, Message::INTERMEDIATE or Message::END as the fragmentType
. After a message has been appended its elements can be set using the various setElement() methods. It is an error to append a recap message to an Admin event. Note that it is undefined behavior to send multi-tick recaps with a fragment ordering other than one Message::START, and zero or more Message::INTERMEDIATE followed by a Message::END fragment. Refer to the component documentation for more information on message fragments.
void blpapi::EventFormatter::appendRecapMessage | ( | const char * | messageType, | |
const Topic & | topic, | |||
Message::Fragment | fragmentType, | |||
unsigned int | sequenceNumber | |||
) |
Append an empty recap message of the specified messageType
that will be published under the specified topic
with the specified sequenceNumber
to the event referenced by this EventFormatter
. It is expected that sequenceNumber
is greater (unless the value wrapped) than the last value used in any previous message on this topic
, otherwise the behavior is undefined. The specified fragmentType
determines what fragment flag to apply to this recap message. Single-tick recap messages should have fragmentType
= Message::NONE. Multi-tick recaps can have either Message::START, Message::INTERMEDIATE or Message::END as the fragmentType
. After a message has been appended its elements can be set using the various setElement() methods. It is an error to append a recap message to an Admin event. Note that it is undefined behavior to send multi-tick recaps with a fragment ordering other than one Message::START, and zero or more Message::INTERMEDIATE followed by a Message::END fragment. Refer to the component documentation for more information on message fragments.
void blpapi::EventFormatter::appendRecapMessage | ( | const CorrelationId & | cid, | |
Message::Fragment | fragmentType = Message::FRAGMENT_NONE | |||
) |
Append an empty recap message with the default messageType
that will be published to the event referenced by this EventFormatter
. The specified cid
identifies the TOPIC_RECAP message that this recap message is in response to. Specify the optional fragmentType
to create a recap message with fragment type other than Message::FRAGMENT_NONE
, if fragmentType
is not provided, append a recap message with fragment type FRAGMENT_NONE
. Single-tick recap messages should have fragmentType
= Message::NONE. Multi-tick recaps can have either Message::START, Message::INTERMEDIATE or Message::END as the fragmentType
. After a message has been appended its elements can be set using the various setElement() methods. It is an error to append a recap message to an Admin event. Note that it is undefined behavior to send multi-tick recaps with a fragment ordering other than one Message::START, and zero or more Message::INTERMEDIATE followed by a Message::END fragment. Refer to the component documentation for more information on message fragments.
void blpapi::EventFormatter::appendRecapMessage | ( | const Name & | messageType, | |
const CorrelationId & | cid, | |||
Message::Fragment | fragmentType = Message::FRAGMENT_NONE | |||
) |
Append an empty recap message of type messageType
that will be published to the event referenced by this EventFormatter
. The specified cid
identifies the TOPIC_RECAP message that this recap message is in response to. Specify the optional fragmentType
to create a recap message with fragment type other than Message::FRAGMENT_NONE
, if fragmentType
is not provided, append a recap message with fragment type FRAGMENT_NONE
. Single-tick recap messages should have fragmentType
= Message::NONE. Multi-tick recaps can have either Message::START, Message::INTERMEDIATE or Message::END as the fragmentType
. After a message has been appended its elements can be set using the various setElement() methods. It is an error to append a recap message to an Admin event. Note that it is undefined behavior to send multi-tick recaps with a fragment ordering other than one Message::START, and zero or more Message::INTERMEDIATE followed by a Message::END fragment. Refer to the component documentation for more information on message fragments.
void blpapi::EventFormatter::appendRecapMessage | ( | const char * | messageType, | |
const CorrelationId & | cid, | |||
Message::Fragment | fragmentType = Message::FRAGMENT_NONE | |||
) |
Append an empty recap message of type messageType
that will be published to the event referenced by this EventFormatter
.The specified cid
identifies the TOPIC_RECAP message that this recap message is in response to. Specify the optional fragmentType
to create a recap message with fragment type other than Message::FRAGMENT_NONE
, if fragmentType
is not provided, append a recap message with fragment type FRAGMENT_NONE
. Single-tick recap messages should have fragmentType
= Message::NONE. Multi-tick recaps can have either Message::START, Message::INTERMEDIATE or Message::END as the fragmentType
. After a message has been appended its elements can be set using the various setElement() methods. It is an error to append a recap message to an Admin event. Note that it is undefined behavior to send multi-tick recaps with a fragment ordering other than one Message::START, and zero or more Message::INTERMEDIATE followed by a Message::END fragment. Refer to the component documentation for more information on message fragments.
void blpapi::EventFormatter::setElement | ( | const char * | name, | |
bool | value | |||
) |
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown.
void blpapi::EventFormatter::setElement | ( | const char * | name, | |
char | value | |||
) |
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown.
void blpapi::EventFormatter::setElement | ( | const char * | name, | |
Int32 | value | |||
) |
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown.
void blpapi::EventFormatter::setElement | ( | const char * | name, | |
Int64 | value | |||
) |
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown.
void blpapi::EventFormatter::setElement | ( | const char * | name, | |
Float32 | value | |||
) |
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown.
void blpapi::EventFormatter::setElement | ( | const char * | name, | |
Float64 | value | |||
) |
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown.
void blpapi::EventFormatter::setElement | ( | const char * | name, | |
const Datetime & | value | |||
) |
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown. This function sets the Datetime value with millisecond resolution.
void blpapi::EventFormatter::setElement | ( | const char * | name, | |
const Datetime::HighPrecision & | value | |||
) |
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown. This function sets the Datetime value with full precision. Note that while Datetime supports picosecond resolution, messages on the wire won't have the full resolution.
void blpapi::EventFormatter::setElement | ( | const char * | name, | |
const char * | value | |||
) |
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown. The behavior is undefined unless value
is not NULL
. Clients wishing to format and publish null values (e.g. for the purpose of cache management) should not use this function; use setElementNull
instead.
void blpapi::EventFormatter::setElement | ( | const char * | name, | |
const Name & | value | |||
) |
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown.
void blpapi::EventFormatter::setElementNull | ( | const char * | name | ) |
Create a null element with the specified name
. Note that whether or not fields containing null values are published to subscribers is dependent upon details of the service and schema configuration. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown.
void blpapi::EventFormatter::setElement | ( | const Name & | name, | |
bool | value | |||
) |
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown.
void blpapi::EventFormatter::setElement | ( | const Name & | name, | |
char | value | |||
) |
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown.
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown.
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown.
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown.
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown.
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown. This function sets the Datetime value with millisecond resolution.
void blpapi::EventFormatter::setElement | ( | const Name & | name, | |
const Datetime::HighPrecision & | value | |||
) |
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown. This function sets the Datetime value with full precision. Note that while Datetime supports picosecond resolution, messages on the wire won't have the full resolution.
void blpapi::EventFormatter::setElement | ( | const Name & | name, | |
const char * | value | |||
) |
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown. The behavior is undefined unless value
is not NULL
. Clients wishing to format and publish null values (e.g. for the purpose of cache management) should not use this function; use setElementNull
instead.
Set the element with the specified name
to the specified value
in the current message in the Event referenced by this EventFormatter. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown.
void blpapi::EventFormatter::setElementNull | ( | const Name & | name | ) |
Create a null element with the specified name
. Note that whether or not fields containing null values are published to subscribers is dependent upon details of the service and schema configuration. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown.
void blpapi::EventFormatter::pushElement | ( | const char * | name | ) |
void blpapi::EventFormatter::pushElement | ( | const Name & | name | ) |
Changes the level at which this EventFormatter is operating to the specified element name
. The element name
must identify either a choice, a sequence or an array at the current level of the schema or the behavior is undefined. If the name
is invalid for the current message, if appendMessage() has never been called or if the element identified by name
has already been set an exception is thrown. After this returns the context of the EventFormatter is set to the element name
in the schema and any calls to setElement() or pushElement() are applied at that level. If name
represents an array of scalars then appendValue() must be used to add values. If name
represents an array of complex types then appendElement() creates the first entry and set the context of the EventFormatter to that element. Calling appendElement() again will create another entry.
void blpapi::EventFormatter::popElement | ( | ) |
Undoes the most recent call to pushLevel() on this EventFormatter and returns the context of the EventFormatter to where it was before the call to pushElement(). Once popElement() has been called it is invalid to attempt to re-visit the same context.
void blpapi::EventFormatter::appendValue | ( | bool | value | ) |
void blpapi::EventFormatter::appendValue | ( | char | value | ) |
void blpapi::EventFormatter::appendValue | ( | Int32 | value | ) |
void blpapi::EventFormatter::appendValue | ( | Int64 | value | ) |
void blpapi::EventFormatter::appendValue | ( | Float32 | value | ) |
void blpapi::EventFormatter::appendValue | ( | Float64 | value | ) |
void blpapi::EventFormatter::appendValue | ( | const char * | value | ) |
void blpapi::EventFormatter::appendValue | ( | const Name & | value | ) |
void blpapi::EventFormatter::appendValue | ( | const Datetime & | value | ) |
void blpapi::EventFormatter::appendValue | ( | const Datetime::HighPrecision & | value | ) |
void blpapi::EventFormatter::appendElement | ( | ) |