36#ifndef INCLUDED_BLPAPI_EVENTFORMATTER
37#define INCLUDED_BLPAPI_EVENTFORMATTER
69#include <blpapi_deprecate.h>
87blpapi_EventFormatter_t *blpapi_EventFormatter_create(blpapi_Event_t *event);
90void blpapi_EventFormatter_destroy(blpapi_EventFormatter_t *victim);
93int blpapi_EventFormatter_appendMessage(blpapi_EventFormatter_t *formatter,
94 const char *typeString,
95 blpapi_Name_t *typeName,
96 const blpapi_Topic_t *topic);
99int blpapi_EventFormatter_appendMessageSeq(blpapi_EventFormatter_t *formatter,
100 const char *typeString,
101 blpapi_Name_t *typeName,
102 const blpapi_Topic_t *topic,
103 unsigned int sequenceNumber,
107int blpapi_EventFormatter_appendResponse(blpapi_EventFormatter_t *formatter,
108 const char *typeString,
109 blpapi_Name_t *typeName);
112int blpapi_EventFormatter_appendRecapMessage(
113 blpapi_EventFormatter_t *formatter,
114 const blpapi_Topic_t *topic,
115 const blpapi_CorrelationId_t *cid);
118int blpapi_EventFormatter_appendRecapMessageSeq(
119 blpapi_EventFormatter_t *formatter,
120 const blpapi_Topic_t *topic,
121 const blpapi_CorrelationId_t *cid,
122 unsigned int sequenceNumber,
126int blpapi_EventFormatter_appendFragmentedRecapMessage(
127 blpapi_EventFormatter_t *formatter,
128 const char *typeString,
129 blpapi_Name_t *typeName,
130 const blpapi_Topic_t *topic,
131 const blpapi_CorrelationId_t *cid,
135int blpapi_EventFormatter_appendFragmentedRecapMessageSeq(
136 blpapi_EventFormatter_t *formatter,
137 const char *typeString,
138 blpapi_Name_t *typeName,
139 const blpapi_Topic_t *topic,
141 unsigned int sequenceNumber);
144int blpapi_EventFormatter_setValueBool(blpapi_EventFormatter_t *formatter,
145 const char *typeString,
146 const blpapi_Name_t *typeName,
147 blpapi_Bool_t value);
150int blpapi_EventFormatter_setValueChar(blpapi_EventFormatter_t *formatter,
151 const char *typeString,
152 const blpapi_Name_t *typeName,
156int blpapi_EventFormatter_setValueInt32(blpapi_EventFormatter_t *formatter,
157 const char *typeString,
158 const blpapi_Name_t *typeName,
159 blpapi_Int32_t value);
162int blpapi_EventFormatter_setValueInt64(blpapi_EventFormatter_t *formatter,
163 const char *typeString,
164 const blpapi_Name_t *typeName,
165 blpapi_Int64_t value);
168int blpapi_EventFormatter_setValueFloat32(blpapi_EventFormatter_t *formatter,
169 const char *typeString,
170 const blpapi_Name_t *typeName,
171 blpapi_Float32_t value);
174int blpapi_EventFormatter_setValueFloat64(blpapi_EventFormatter_t *formatter,
175 const char *typeString,
176 const blpapi_Name_t *typeName,
177 blpapi_Float64_t value);
180int blpapi_EventFormatter_setValueDatetime(blpapi_EventFormatter_t *formatter,
181 const char *typeString,
182 const blpapi_Name_t *typeName,
183 const blpapi_Datetime_t *value);
186int blpapi_EventFormatter_setValueHighPrecisionDatetime(
187 blpapi_EventFormatter_t *formatter,
188 const char *typeString,
189 const blpapi_Name_t *typeName,
190 const blpapi_HighPrecisionDatetime_t *value);
193int blpapi_EventFormatter_setValueString(blpapi_EventFormatter_t *formatter,
194 const char *typeString,
195 const blpapi_Name_t *typeName,
199int blpapi_EventFormatter_setValueFromName(blpapi_EventFormatter_t *formatter,
200 const char *typeString,
201 const blpapi_Name_t *typeName,
202 const blpapi_Name_t *value);
205int blpapi_EventFormatter_setValueBytes(blpapi_EventFormatter_t *formatter,
206 const char *typeString,
207 const blpapi_Name_t *typeName,
212int blpapi_EventFormatter_setValueNull(blpapi_EventFormatter_t *formatter,
213 const char *typeString,
214 const blpapi_Name_t *typeName);
217int blpapi_EventFormatter_pushElement(blpapi_EventFormatter_t *formatter,
218 const char *typeString,
219 const blpapi_Name_t *typeName);
222int blpapi_EventFormatter_popElement(blpapi_EventFormatter_t *formatter);
225int blpapi_EventFormatter_appendValueBool(
226 blpapi_EventFormatter_t *formatter, blpapi_Bool_t value);
229int blpapi_EventFormatter_appendValueChar(
230 blpapi_EventFormatter_t *formatter,
char value);
233int blpapi_EventFormatter_appendValueInt32(
234 blpapi_EventFormatter_t *formatter, blpapi_Int32_t value);
237int blpapi_EventFormatter_appendValueInt64(
238 blpapi_EventFormatter_t *formatter, blpapi_Int64_t value);
241int blpapi_EventFormatter_appendValueFloat32(
242 blpapi_EventFormatter_t *formatter, blpapi_Float32_t value);
245int blpapi_EventFormatter_appendValueFloat64(
246 blpapi_EventFormatter_t *formatter, blpapi_Float64_t value);
249int blpapi_EventFormatter_appendValueDatetime(
250 blpapi_EventFormatter_t *formatter,
const blpapi_Datetime_t *value);
253int blpapi_EventFormatter_appendValueHighPrecisionDatetime(
254 blpapi_EventFormatter_t *formatter,
255 const blpapi_HighPrecisionDatetime_t *value);
258int blpapi_EventFormatter_appendValueString(
259 blpapi_EventFormatter_t *formatter,
const char *value);
262int blpapi_EventFormatter_appendValueFromName(
263 blpapi_EventFormatter_t *formatter,
const blpapi_Name_t *value);
266int blpapi_EventFormatter_appendElement(blpapi_EventFormatter_t *formatter);
269int blpapi_EventFormatter_getElementDefinition(
270 blpapi_EventFormatter_t *formatter,
271 blpapi_SchemaElementDefinition_t **definition);
274int blpapi_EventFormatter_getElement(
275 blpapi_EventFormatter_t *formatter, blpapi_Element_t **element);
284#include <type_traits>
333class EventFormatter {
335 blpapi_EventFormatter_t *d_handle;
338 EventFormatter& operator=(
const EventFormatter&);
339 EventFormatter(
const EventFormatter&);
343 explicit EventFormatter(
Event& event);
366 unsigned int sequenceNumber);
447 unsigned int sequenceNumber,
473 unsigned int sequenceNumber);
489 unsigned int sequenceNumber);
513 unsigned int sequenceNumber);
694 void setElement(
const Name& name,
const void *value,
size_t length);
708 template <
typename BYTES,
709 typename std::enable_if<IsByteSequence<BYTES>::value,
bool>::type
855 const char *messageType,
const Topic& topic);
865 BLPAPI_DEPRECATE_STRING_NAME
void appendMessage(
const char *messageType,
867 unsigned int sequenceNumber);
882 const char *operationName);
896 const char *messageType,
920 const char *messageType,
922 unsigned int sequenceNumber);
939 const char *messageType,
942 unsigned int sequenceNumber);
966 const char *messageType,
990 BLPAPI_DEPRECATE_STRING_NAME
void setElement(
const char *name,
bool value);
1006 BLPAPI_DEPRECATE_STRING_NAME
void setElement(
const char *name,
char value);
1022 BLPAPI_DEPRECATE_STRING_NAME
void setElement(
1023 const char *name,
Int32 value);
1039 BLPAPI_DEPRECATE_STRING_NAME
void setElement(
1040 const char *name,
Int64 value);
1056 BLPAPI_DEPRECATE_STRING_NAME
void setElement(
1057 const char *name,
Float32 value);
1073 BLPAPI_DEPRECATE_STRING_NAME
void setElement(
1074 const char *name,
Float64 value);
1090 BLPAPI_DEPRECATE_STRING_NAME
void setElement(
1091 const char *name,
const Datetime& value);
1108 BLPAPI_DEPRECATE_STRING_NAME
void setElement(
1127 BLPAPI_DEPRECATE_STRING_NAME
void setElement(
1128 const char *name,
const char *value);
1147 BLPAPI_DEPRECATE_STRING_NAME
void setElement(
1148 const char *name,
const Name& value);
1164 BLPAPI_DEPRECATE_STRING_NAME
void setElementNull(
const char *name);
1181 BLPAPI_DEPRECATE_STRING_NAME
void pushElement(
const char *name);
1218 void fromJson(
const std::string& json);
1233 const blpapi_EventFormatter_t *handle()
const;
1238 blpapi_EventFormatter_t *handle();
1256inline EventFormatter::EventFormatter(
Event& event)
1258 d_handle = blpapi_EventFormatter_create(event.
impl());
1263 blpapi_EventFormatter_destroy(d_handle);
1267 const char *messageType,
const Topic& topic)
1270 d_handle, messageType, 0, topic.
impl()));
1274 const Name& messageType,
const Topic& topic)
1277 d_handle, 0, messageType.
impl(), topic.
impl()));
1282 unsigned int sequenceNumber)
1285 d_handle, messageType, 0, topic.
impl(), sequenceNumber, 0));
1290 unsigned int sequenceNumber)
1293 d_handle, 0, messageType.
impl(), topic.
impl(), sequenceNumber, 0));
1299 blpapi_EventFormatter_appendResponse(d_handle, operationName, 0));
1305 d_handle, 0, operationName.
impl()));
1312 d_handle, topic.
impl(), cid ? &cid->impl() : 0));
1319 blpapi_EventFormatter_appendFragmentedRecapMessage)(d_handle,
1324 static_cast<int>(fragmentType)));
1332 blpapi_EventFormatter_appendFragmentedRecapMessage)(d_handle,
1337 static_cast<int>(fragmentType)));
1345 blpapi_EventFormatter_appendFragmentedRecapMessage)(d_handle,
1350 static_cast<int>(fragmentType)));
1354 unsigned int sequenceNumber,
1360 cid ? &cid->impl() : 0,
1367 unsigned int sequenceNumber)
1370 blpapi_EventFormatter_appendFragmentedRecapMessageSeq)(d_handle,
1380 unsigned int sequenceNumber)
1383 blpapi_EventFormatter_appendFragmentedRecapMessageSeq)(d_handle,
1393 unsigned int sequenceNumber)
1396 blpapi_EventFormatter_appendFragmentedRecapMessageSeq)(d_handle,
1400 static_cast<int>(fragmentType),
1407 unsigned int sequenceNumber)
1410 blpapi_EventFormatter_appendFragmentedRecapMessageSeq)(d_handle,
1414 static_cast<int>(fragmentType),
1421 unsigned int sequenceNumber)
1424 blpapi_EventFormatter_appendFragmentedRecapMessageSeq)(d_handle,
1428 static_cast<int>(fragmentType),
1436 blpapi_EventFormatter_appendFragmentedRecapMessage)(d_handle,
1441 static_cast<int>(fragmentType)));
1449 blpapi_EventFormatter_appendFragmentedRecapMessage)(d_handle,
1454 static_cast<int>(fragmentType)));
1462 blpapi_EventFormatter_appendFragmentedRecapMessage)(d_handle,
1467 static_cast<int>(fragmentType)));
1473 blpapi_EventFormatter_setValueBool(d_handle, name, 0, value));
1479 blpapi_EventFormatter_setValueChar(d_handle, name, 0, value));
1485 blpapi_EventFormatter_setValueInt32(d_handle, name, 0, value));
1491 blpapi_EventFormatter_setValueInt64(d_handle, name, 0, value));
1497 blpapi_EventFormatter_setValueFloat32(d_handle, name, 0, value));
1503 blpapi_EventFormatter_setValueFloat64(d_handle, name, 0, value));
1509 d_handle, name, 0, &value.
rawValue()));
1516 BLPAPI_CALL(blpapi_EventFormatter_setValueHighPrecisionDatetime)(
1517 d_handle, name, 0, &value));
1523 blpapi_EventFormatter_setValueString(d_handle, name, 0, value));
1529 d_handle, name, 0, value.
impl()));
1541 d_handle, 0, name.
impl(), value));
1547 d_handle, 0, name.
impl(), value));
1553 d_handle, 0, name.
impl(), value));
1559 d_handle, 0, name.
impl(), value));
1565 d_handle, 0, name.
impl(), value));
1570 d_handle, 0, name.
impl(), value));
1583 BLPAPI_CALL(blpapi_EventFormatter_setValueHighPrecisionDatetime)(
1584 d_handle, 0, name.
impl(), &value));
1590 d_handle, 0, name.
impl(), value));
1594 const Name& name,
const std::string& value)
1602 d_handle, 0, name.
impl(), value.
impl()));
1606 const Name& name,
const void *value,
size_t length)
1609 BLPAPI_CALL(blpapi_EventFormatter_setValueBytes)(d_handle,
1612 reinterpret_cast<const char *
>(value),
1616template <
typename BYTES,
1617 typename std::enable_if<IsByteSequence<BYTES>::value,
bool>::type>
1620 setElement(name, value.data(), value.size());
1632 blpapi_EventFormatter_pushElement(d_handle, name, 0));
1638 blpapi_EventFormatter_pushElement(d_handle, 0, name.
impl()));
1649 blpapi_EventFormatter_appendValueBool(d_handle, value));
1655 blpapi_EventFormatter_appendValueChar(d_handle, value));
1661 blpapi_EventFormatter_appendValueInt32(d_handle, value));
1667 blpapi_EventFormatter_appendValueInt64(d_handle, value));
1673 blpapi_EventFormatter_appendValueFloat32(d_handle, value));
1679 blpapi_EventFormatter_appendValueFloat64(d_handle, value));
1691 blpapi_EventFormatter_appendValueHighPrecisionDatetime)(
1698 blpapi_EventFormatter_appendValueString(d_handle, value));
1709 blpapi_EventFormatter_appendValueFromName(d_handle, value.
impl()));
1719 blpapi_Element_t *element =
nullptr;
1721 blpapi_EventFormatter_getElement(d_handle, &element));
1722 if (element ==
nullptr) {
1738inline const blpapi_EventFormatter_t *EventFormatter::handle()
const
1743inline blpapi_EventFormatter_t *EventFormatter::handle() {
return d_handle; }
Provide functions for dispatchtbl.
#define BLPAPI_CALL_EVENTFORMATTER_APPENDRECAPMESSAGESEQ(a1, a2, a3, a4, a5)
Definition blpapi_call.h:366
#define BLPAPI_CALL_EVENTFORMATTER_APPENDMESSAGESEQ(a1, a2, a3, a4, a5, a6)
Definition blpapi_call.h:364
#define BLPAPI_CALL_EVENTFORMATTER_SETVALUENULL(a1, a2, a3)
Definition blpapi_call.h:417
#define BLPAPI_CALL(FUNCNAME)
Definition blpapi_call.h:361
Common definitions used by the library.
Provide a representation of an item in a message.
A component which defines events related operations.
Provide representation of a Topic.
Definition blpapi_correlationid.h:225
Definition blpapi_datetime.h:273
blpapi_HighPrecisionDatetime_t HighPrecision
Definition blpapi_datetime.h:299
blpapi_Datetime_t & rawValue()
Definition blpapi_datetime.h:1980
Definition blpapi_element.h:1167
void fromJson(const char *json)
Definition blpapi_element.h:3078
Definition blpapi_event.h:212
blpapi_Event_t * impl() const
Definition blpapi_event.h:569
static void throwOnError(int errorCode)
Definition blpapi_exception.h:541
Definition blpapi_exception.h:237
Fragment
Definition blpapi_message.h:187
@ FRAGMENT_NONE
message is not fragmented
Definition blpapi_message.h:189
Definition blpapi_name.h:242
blpapi_Name_t * impl() const
Definition blpapi_name.h:495
Definition blpapi_topic.h:130
const blpapi_Topic_t * impl() const
Definition blpapi_topic.h:237
Definition blpapi_abstractsession.h:212
blpapi_Float64_t Float64
Definition blpapi_types.h:485
blpapi_Float32_t Float32
Definition blpapi_types.h:484
blpapi_Int64_t Int64
Definition blpapi_types.h:482
blpapi_Int32_t Int32
Definition blpapi_types.h:480
Definition blpapi_abstractsession.h:211