BLPAPI C++  3.24.10
blpapi_eventformatter.h
Go to the documentation of this file.
1 /* Copyright 2012. Bloomberg Finance L.P.
2  *
3  * Permission is hereby granted, free of charge, to any person obtaining a copy
4  * of this software and associated documentation files (the "Software"), to
5  * deal in the Software without restriction, including without limitation the
6  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7  * sell copies of the Software, and to permit persons to whom the Software is
8  * furnished to do so, subject to the following conditions: The above
9  * copyright notice and this permission notice shall be included in all copies
10  * or substantial portions of the Software.
11  *
12  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
17  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
18  * IN THE SOFTWARE.
19  */
20 
28 #ifndef INCLUDED_BLPAPI_EVENTFORMATTER
29 #define INCLUDED_BLPAPI_EVENTFORMATTER
30 
59 #include <blpapi_call.h>
60 #include <blpapi_defs.h>
61 #include <blpapi_deprecate.h>
62 #include <blpapi_event.h>
63 #include <blpapi_topic.h>
64 #include <blpapi_types.h>
65 
66 #include <stddef.h>
67 
68 #ifdef __cplusplus
69 extern "C" {
70 #endif
71 
74 
77 
80  const char *typeString,
81  blpapi_Name_t *typeName,
82  const blpapi_Topic_t *topic);
83 
86  const char *typeString,
87  blpapi_Name_t *typeName,
88  const blpapi_Topic_t *topic,
89  unsigned int sequenceNumber,
90  unsigned int);
91 
94  const char *typeString,
95  blpapi_Name_t *typeName);
96 
99  blpapi_EventFormatter_t *formatter,
100  const blpapi_Topic_t *topic,
101  const blpapi_CorrelationId_t *cid);
102 
105  blpapi_EventFormatter_t *formatter,
106  const blpapi_Topic_t *topic,
107  const blpapi_CorrelationId_t *cid,
108  unsigned int sequenceNumber,
109  unsigned int);
110 
113  blpapi_EventFormatter_t *formatter,
114  const char *typeString,
115  blpapi_Name_t *typeName,
116  const blpapi_Topic_t *topic,
117  const blpapi_CorrelationId_t *cid,
118  int fragmentType);
119 
122  blpapi_EventFormatter_t *formatter,
123  const char *typeString,
124  blpapi_Name_t *typeName,
125  const blpapi_Topic_t *topic,
126  int fragmentType,
127  unsigned int sequenceNumber);
128 
131  const char *typeString,
132  const blpapi_Name_t *typeName,
133  blpapi_Bool_t value);
134 
137  const char *typeString,
138  const blpapi_Name_t *typeName,
139  char value);
140 
143  const char *typeString,
144  const blpapi_Name_t *typeName,
145  blpapi_Int32_t value);
146 
149  const char *typeString,
150  const blpapi_Name_t *typeName,
151  blpapi_Int64_t value);
152 
155  const char *typeString,
156  const blpapi_Name_t *typeName,
157  blpapi_Float32_t value);
158 
161  const char *typeString,
162  const blpapi_Name_t *typeName,
163  blpapi_Float64_t value);
164 
167  const char *typeString,
168  const blpapi_Name_t *typeName,
169  const blpapi_Datetime_t *value);
170 
173  blpapi_EventFormatter_t *formatter,
174  const char *typeString,
175  const blpapi_Name_t *typeName,
176  const blpapi_HighPrecisionDatetime_t *value);
177 
180  const char *typeString,
181  const blpapi_Name_t *typeName,
182  const char *value);
183 
186  const char *typeString,
187  const blpapi_Name_t *typeName,
188  const blpapi_Name_t *value);
189 
192  const char *typeString,
193  const blpapi_Name_t *typeName,
194  const char *value,
195  size_t length);
196 
199  const char *typeString,
200  const blpapi_Name_t *typeName);
201 
204  const char *typeString,
205  const blpapi_Name_t *typeName);
206 
209 
212  blpapi_EventFormatter_t *formatter, blpapi_Bool_t value);
213 
216  blpapi_EventFormatter_t *formatter, char value);
217 
220  blpapi_EventFormatter_t *formatter, blpapi_Int32_t value);
221 
224  blpapi_EventFormatter_t *formatter, blpapi_Int64_t value);
225 
228  blpapi_EventFormatter_t *formatter, blpapi_Float32_t value);
229 
232  blpapi_EventFormatter_t *formatter, blpapi_Float64_t value);
233 
236  blpapi_EventFormatter_t *formatter, const blpapi_Datetime_t *value);
237 
240  blpapi_EventFormatter_t *formatter,
241  const blpapi_HighPrecisionDatetime_t *value);
242 
245  blpapi_EventFormatter_t *formatter, const char *value);
246 
249  blpapi_EventFormatter_t *formatter, const blpapi_Name_t *value);
250 
253 
256  blpapi_EventFormatter_t *formatter,
257  blpapi_SchemaElementDefinition_t **definition);
258 
259 #ifdef __cplusplus
260 }
261 
262 #include <string>
263 #include <type_traits>
264 
272 namespace BloombergLP {
273 namespace blpapi {
274 
313 
314  blpapi_EventFormatter_t *d_handle;
315 
316  private:
317  EventFormatter& operator=(const EventFormatter&);
319  EventFormatter();
320 
321  public:
322  explicit EventFormatter(Event& event);
330  ~EventFormatter();
335  void appendMessage(const Name& messageType, const Topic& topic);
343  void appendMessage(const Name& messageType,
344  const Topic& topic,
345  unsigned int sequenceNumber);
357  void appendResponse(const Name& operationName);
369  void appendRecapMessage(const Topic& topic, const CorrelationId *cid = 0);
389  void appendRecapMessage(
390  const Topic& topic, Message::Fragment fragmentType);
406  void appendRecapMessage(const Name& messageType,
407  const Topic& topic,
426  void appendRecapMessage(const Topic& topic,
427  unsigned int sequenceNumber,
428  const CorrelationId *cid = 0);
451  void appendRecapMessage(const Name& messageType,
452  const Topic& topic,
453  unsigned int sequenceNumber);
467  void appendRecapMessage(const Topic& topic,
468  Message::Fragment fragmentType,
469  unsigned int sequenceNumber);
490  void appendRecapMessage(const Name& messageType,
491  const Topic& topic,
492  Message::Fragment fragmentType,
493  unsigned int sequenceNumber);
514  void appendRecapMessage(const CorrelationId& cid,
535  void appendRecapMessage(const Name& messageType,
536  const CorrelationId& cid,
557  void setElement(const Name& name, bool value);
567  void setElement(const Name& name, char value);
577  void setElement(const Name& name, Int32 value);
587  void setElement(const Name& name, Int64 value);
597  void setElement(const Name& name, Float32 value);
607  void setElement(const Name& name, Float64 value);
617  void setElement(const Name& name, const Datetime& value);
628  void setElement(const Name& name, const Datetime::HighPrecision& value);
640  void setElement(const Name& name, const char *value);
653  void setElement(const Name& name, const std::string& value);
664  void setElement(const Name& name, const Name& value);
674  void setElement(const Name& name, const void *value, size_t length);
688  template <typename BYTES,
689  typename std::enable_if<IsByteSequence<BYTES>::value, bool>::type
690  = true>
691  void setElement(const Name& name, const BYTES& value);
707  void setElementNull(const Name& name);
718  void pushElement(const Name& name);
736  void popElement();
746  void appendValue(bool value);
753  void appendValue(char value);
760  void appendValue(Int32 value);
767  void appendValue(Int64 value);
774  void appendValue(Float32 value);
781  void appendValue(Float64 value);
788  void appendValue(const char *value);
795  void appendValue(const std::string& value);
802  void appendValue(const Name& value);
809  void appendValue(const Datetime& value);
816  void appendValue(const Datetime::HighPrecision& value);
823  void appendElement();
834  BLPAPI_DEPRECATE_STRING_NAME void appendMessage(
835  const char *messageType, const Topic& topic);
845  BLPAPI_DEPRECATE_STRING_NAME void appendMessage(const char *messageType,
846  const Topic& topic,
847  unsigned int sequenceNumber);
861  BLPAPI_DEPRECATE_STRING_NAME void appendResponse(
862  const char *operationName);
875  BLPAPI_DEPRECATE_STRING_NAME void appendRecapMessage(
876  const char *messageType,
877  const Topic& topic,
899  BLPAPI_DEPRECATE_STRING_NAME void appendRecapMessage(
900  const char *messageType,
901  const Topic& topic,
902  unsigned int sequenceNumber);
918  BLPAPI_DEPRECATE_STRING_NAME void appendRecapMessage(
919  const char *messageType,
920  const Topic& topic,
921  Message::Fragment fragmentType,
922  unsigned int sequenceNumber);
945  BLPAPI_DEPRECATE_STRING_NAME void appendRecapMessage(
946  const char *messageType,
947  const CorrelationId& cid,
970  BLPAPI_DEPRECATE_STRING_NAME void setElement(const char *name, bool value);
986  BLPAPI_DEPRECATE_STRING_NAME void setElement(const char *name, char value);
1002  BLPAPI_DEPRECATE_STRING_NAME void setElement(
1003  const char *name, Int32 value);
1019  BLPAPI_DEPRECATE_STRING_NAME void setElement(
1020  const char *name, Int64 value);
1036  BLPAPI_DEPRECATE_STRING_NAME void setElement(
1037  const char *name, Float32 value);
1053  BLPAPI_DEPRECATE_STRING_NAME void setElement(
1054  const char *name, Float64 value);
1070  BLPAPI_DEPRECATE_STRING_NAME void setElement(
1071  const char *name, const Datetime& value);
1088  BLPAPI_DEPRECATE_STRING_NAME void setElement(
1089  const char *name, const Datetime::HighPrecision& value);
1107  BLPAPI_DEPRECATE_STRING_NAME void setElement(
1108  const char *name, const char *value);
1127  BLPAPI_DEPRECATE_STRING_NAME void setElement(
1128  const char *name, const Name& value);
1144  BLPAPI_DEPRECATE_STRING_NAME void setElementNull(const char *name);
1161  BLPAPI_DEPRECATE_STRING_NAME void pushElement(const char *name);
1170  const blpapi_EventFormatter_t *handle() const;
1176  blpapi_EventFormatter_t *handle();
1180 };
1182 
1186 // ============================================================================
1187 // INLINE AND TEMPLATE FUNCTION IMPLEMENTATIONS
1188 // ============================================================================
1189 
1190 // --------------------
1191 // class EventFormatter
1192 // --------------------
1193 
1194 inline EventFormatter::EventFormatter(Event& event)
1195 {
1196  d_handle = blpapi_EventFormatter_create(event.impl());
1197 }
1198 
1200 {
1202 }
1203 
1205  const char *messageType, const Topic& topic)
1206 {
1208  d_handle, messageType, 0, topic.impl()));
1209 }
1210 
1212  const Name& messageType, const Topic& topic)
1213 {
1215  d_handle, 0, messageType.impl(), topic.impl()));
1216 }
1217 
1218 inline void EventFormatter::appendMessage(const char *messageType,
1219  const Topic& topic,
1220  unsigned int sequenceNumber)
1221 {
1223  d_handle, messageType, 0, topic.impl(), sequenceNumber, 0));
1224 }
1225 
1226 inline void EventFormatter::appendMessage(const Name& messageType,
1227  const Topic& topic,
1228  unsigned int sequenceNumber)
1229 {
1231  d_handle, 0, messageType.impl(), topic.impl(), sequenceNumber, 0));
1232 }
1233 
1234 inline void EventFormatter::appendResponse(const char *operationName)
1235 {
1237  blpapi_EventFormatter_appendResponse(d_handle, operationName, 0));
1238 }
1239 
1240 inline void EventFormatter::appendResponse(const Name& operationName)
1241 {
1243  d_handle, 0, operationName.impl()));
1244 }
1245 
1247  const Topic& topic, const CorrelationId *cid)
1248 {
1250  d_handle, topic.impl(), cid ? &cid->impl() : 0));
1251 }
1252 
1254  const Topic& topic, Message::Fragment fragmentType)
1255 {
1258  0, // 'typeString'
1259  0, // 'typeName'
1260  topic.impl(), // 'topic'
1261  0, // 'cid'
1262  static_cast<int>(fragmentType)));
1263 }
1264 
1265 inline void EventFormatter::appendRecapMessage(const Name& messageType,
1266  const Topic& topic,
1267  Message::Fragment fragmentType)
1268 {
1271  0, // 'typeString'
1272  messageType.impl(), // 'typeName'
1273  topic.impl(), // 'topic'
1274  0, // 'cid'
1275  static_cast<int>(fragmentType)));
1276 }
1277 
1278 inline void EventFormatter::appendRecapMessage(const char *messageType,
1279  const Topic& topic,
1280  Message::Fragment fragmentType)
1281 {
1284  messageType, // 'typeString'
1285  0, // 'typeName'
1286  topic.impl(), // 'topic'
1287  0, // 'cid'
1288  static_cast<int>(fragmentType)));
1289 }
1290 
1292  unsigned int sequenceNumber,
1293  const CorrelationId *cid)
1294 {
1297  topic.impl(),
1298  cid ? &cid->impl() : 0,
1299  sequenceNumber,
1300  0));
1301 }
1302 
1303 inline void EventFormatter::appendRecapMessage(const Name& messageType,
1304  const Topic& topic,
1305  unsigned int sequenceNumber)
1306 {
1309  0, // 'typeString'
1310  messageType.impl(), // 'typeName'
1311  topic.impl(), // 'topic'
1312  static_cast<int>(Message::FRAGMENT_NONE),
1313  sequenceNumber));
1314 }
1315 
1316 inline void EventFormatter::appendRecapMessage(const char *messageType,
1317  const Topic& topic,
1318  unsigned int sequenceNumber)
1319 {
1322  messageType, // 'typeString'
1323  0, // 'typeName'
1324  topic.impl(), // 'topic'
1325  static_cast<int>(Message::FRAGMENT_NONE),
1326  sequenceNumber));
1327 }
1328 
1330  Message::Fragment fragmentType,
1331  unsigned int sequenceNumber)
1332 {
1335  0, // 'typeString'
1336  0, // 'typeName'
1337  topic.impl(), // 'topic'
1338  static_cast<int>(fragmentType),
1339  sequenceNumber));
1340 }
1341 
1342 inline void EventFormatter::appendRecapMessage(const Name& messageType,
1343  const Topic& topic,
1344  Message::Fragment fragmentType,
1345  unsigned int sequenceNumber)
1346 {
1349  0, // 'typeString'
1350  messageType.impl(), // 'typeName'
1351  topic.impl(), // 'topic'
1352  static_cast<int>(fragmentType),
1353  sequenceNumber));
1354 }
1355 
1356 inline void EventFormatter::appendRecapMessage(const char *messageType,
1357  const Topic& topic,
1358  Message::Fragment fragmentType,
1359  unsigned int sequenceNumber)
1360 {
1363  messageType, // 'typeString'
1364  0, // 'typeName'
1365  topic.impl(), // 'topic'
1366  static_cast<int>(fragmentType),
1367  sequenceNumber));
1368 }
1369 
1371  const CorrelationId& cid, Message::Fragment fragmentType)
1372 {
1375  0, // 'typeString'
1376  0, // 'typeName'
1377  0, // 'topic'
1378  &cid.impl(), // 'cid'
1379  static_cast<int>(fragmentType)));
1380 }
1381 
1382 inline void EventFormatter::appendRecapMessage(const Name& messageType,
1383  const CorrelationId& cid,
1384  Message::Fragment fragmentType)
1385 {
1388  0, // 'typeString'
1389  messageType.impl(), // 'typeName'
1390  0, // 'topic'
1391  &cid.impl(), // 'cid'
1392  static_cast<int>(fragmentType)));
1393 }
1394 
1395 inline void EventFormatter::appendRecapMessage(const char *messageType,
1396  const CorrelationId& cid,
1397  Message::Fragment fragmentType)
1398 {
1401  messageType, // 'typeString'
1402  0, // 'typeName'
1403  0, // 'topic'
1404  &cid.impl(), // 'cid'
1405  static_cast<int>(fragmentType)));
1406 }
1407 
1408 inline void EventFormatter::setElement(const char *name, bool value)
1409 {
1411  blpapi_EventFormatter_setValueBool(d_handle, name, 0, value));
1412 }
1413 
1414 inline void EventFormatter::setElement(const char *name, char value)
1415 {
1417  blpapi_EventFormatter_setValueChar(d_handle, name, 0, value));
1418 }
1419 
1420 inline void EventFormatter::setElement(const char *name, Int32 value)
1421 {
1423  blpapi_EventFormatter_setValueInt32(d_handle, name, 0, value));
1424 }
1425 
1426 inline void EventFormatter::setElement(const char *name, Int64 value)
1427 {
1429  blpapi_EventFormatter_setValueInt64(d_handle, name, 0, value));
1430 }
1431 
1432 inline void EventFormatter::setElement(const char *name, Float32 value)
1433 {
1435  blpapi_EventFormatter_setValueFloat32(d_handle, name, 0, value));
1436 }
1437 
1438 inline void EventFormatter::setElement(const char *name, Float64 value)
1439 {
1441  blpapi_EventFormatter_setValueFloat64(d_handle, name, 0, value));
1442 }
1443 
1444 inline void EventFormatter::setElement(const char *name, const Datetime& value)
1445 {
1447  d_handle, name, 0, &value.rawValue()));
1448 }
1449 
1451  const char *name, const Datetime::HighPrecision& value)
1452 {
1455  d_handle, name, 0, &value));
1456 }
1457 
1458 inline void EventFormatter::setElement(const char *name, const char *value)
1459 {
1461  blpapi_EventFormatter_setValueString(d_handle, name, 0, value));
1462 }
1463 
1464 inline void EventFormatter::setElement(const char *name, const Name& value)
1465 {
1467  d_handle, name, 0, value.impl()));
1468 }
1469 
1470 inline void EventFormatter::setElementNull(const char *name)
1471 {
1473  BLPAPI_CALL_EVENTFORMATTER_SETVALUENULL(d_handle, name, 0));
1474 }
1475 
1476 inline void EventFormatter::setElement(const Name& name, bool value)
1477 {
1479  d_handle, 0, name.impl(), value));
1480 }
1481 
1482 inline void EventFormatter::setElement(const Name& name, char value)
1483 {
1485  d_handle, 0, name.impl(), value));
1486 }
1487 
1488 inline void EventFormatter::setElement(const Name& name, Int32 value)
1489 {
1491  d_handle, 0, name.impl(), value));
1492 }
1493 
1494 inline void EventFormatter::setElement(const Name& name, Int64 value)
1495 {
1497  d_handle, 0, name.impl(), value));
1498 }
1499 
1500 inline void EventFormatter::setElement(const Name& name, Float32 value)
1501 {
1503  d_handle, 0, name.impl(), value));
1504 }
1505 inline void EventFormatter::setElement(const Name& name, Float64 value)
1506 {
1508  d_handle, 0, name.impl(), value));
1509 }
1510 
1511 inline void EventFormatter::setElement(const Name& name, const Datetime& value)
1512 {
1514  d_handle, 0, name.impl(), &value.rawValue()));
1515 }
1516 
1518  const Name& name, const Datetime::HighPrecision& value)
1519 {
1522  d_handle, 0, name.impl(), &value));
1523 }
1524 
1525 inline void EventFormatter::setElement(const Name& name, const char *value)
1526 {
1528  d_handle, 0, name.impl(), value));
1529 }
1530 
1532  const Name& name, const std::string& value)
1533 {
1534  setElement(name, value.c_str());
1535 }
1536 
1537 inline void EventFormatter::setElement(const Name& name, const Name& value)
1538 {
1540  d_handle, 0, name.impl(), value.impl()));
1541 }
1542 
1544  const Name& name, const void *value, size_t length)
1545 {
1548  0,
1549  name.impl(),
1550  reinterpret_cast<const char *>(value),
1551  length));
1552 }
1553 
1554 template <typename BYTES,
1555  typename std::enable_if<IsByteSequence<BYTES>::value, bool>::type>
1556 inline void EventFormatter::setElement(const Name& name, const BYTES& value)
1557 {
1558  setElement(name, value.data(), value.size());
1559 }
1560 
1561 inline void EventFormatter::setElementNull(const Name& name)
1562 {
1564  BLPAPI_CALL_EVENTFORMATTER_SETVALUENULL(d_handle, 0, name.impl()));
1565 }
1566 
1567 inline void EventFormatter::pushElement(const char *name)
1568 {
1570  blpapi_EventFormatter_pushElement(d_handle, name, 0));
1571 }
1572 
1573 inline void EventFormatter::pushElement(const Name& name)
1574 {
1576  blpapi_EventFormatter_pushElement(d_handle, 0, name.impl()));
1577 }
1578 
1580 {
1582 }
1583 
1584 inline void EventFormatter::appendValue(bool value)
1585 {
1587  blpapi_EventFormatter_appendValueBool(d_handle, value));
1588 }
1589 
1590 inline void EventFormatter::appendValue(char value)
1591 {
1593  blpapi_EventFormatter_appendValueChar(d_handle, value));
1594 }
1595 
1597 {
1599  blpapi_EventFormatter_appendValueInt32(d_handle, value));
1600 }
1601 
1603 {
1605  blpapi_EventFormatter_appendValueInt64(d_handle, value));
1606 }
1607 
1609 {
1611  blpapi_EventFormatter_appendValueFloat32(d_handle, value));
1612 }
1613 
1615 {
1617  blpapi_EventFormatter_appendValueFloat64(d_handle, value));
1618 }
1619 
1620 inline void EventFormatter::appendValue(const Datetime& value)
1621 {
1623  d_handle, &value.rawValue()));
1624 }
1625 
1627 {
1630  d_handle, &value));
1631 }
1632 
1633 inline void EventFormatter::appendValue(const char *value)
1634 {
1636  blpapi_EventFormatter_appendValueString(d_handle, value));
1637 }
1638 
1639 inline void EventFormatter::appendValue(const std::string& value)
1640 {
1641  appendValue(value.c_str());
1642 }
1643 
1644 inline void EventFormatter::appendValue(const Name& value)
1645 {
1647  blpapi_EventFormatter_appendValueFromName(d_handle, value.impl()));
1648 }
1649 
1651 {
1653 }
1654 
1655 inline const blpapi_EventFormatter_t *EventFormatter::handle() const
1656 {
1657  return d_handle;
1658 }
1659 
1660 inline blpapi_EventFormatter_t *EventFormatter::handle() { return d_handle; }
1661 
1662 } // close namespace blpapi
1663 } // close namespace BloombergLP
1664 
1665 #endif // #ifdef __cplusplus
1666 #endif // #ifndef INCLUDED_BLPAPI_EVENTFORMATTER
int blpapi_EventFormatter_setValueFloat32(blpapi_EventFormatter_t *formatter, const char *typeString, const blpapi_Name_t *typeName, blpapi_Float32_t value)
void blpapi_EventFormatter_destroy(blpapi_EventFormatter_t *victim)
message is not fragmented
Definition: blpapi_message.h:173
int blpapi_EventFormatter_appendValueFloat64(blpapi_EventFormatter_t *formatter, blpapi_Float64_t value)
int blpapi_EventFormatter_appendValueChar(blpapi_EventFormatter_t *formatter, char value)
int blpapi_EventFormatter_appendElement(blpapi_EventFormatter_t *formatter)
int blpapi_EventFormatter_setValueDatetime(blpapi_EventFormatter_t *formatter, const char *typeString, const blpapi_Name_t *typeName, const blpapi_Datetime_t *value)
Common definitions used by the library.
int blpapi_EventFormatter_setValueBytes(blpapi_EventFormatter_t *formatter, const char *typeString, const blpapi_Name_t *typeName, const char *value, size_t length)
struct blpapi_Event blpapi_Event_t
Definition: blpapi_types.h:139
blpapi_Int32_t Int32
Definition: blpapi_types.h:469
int blpapi_EventFormatter_setValueNull(blpapi_EventFormatter_t *formatter, const char *typeString, const blpapi_Name_t *typeName)
Definition: blpapi_abstractsession.h:187
#define BLPAPI_CALL_EVENTFORMATTER_APPENDMESSAGESEQ(a1, a2, a3, a4, a5, a6)
Definition: blpapi_call.h:356
int blpapi_EventFormatter_appendValueHighPrecisionDatetime(blpapi_EventFormatter_t *formatter, const blpapi_HighPrecisionDatetime_t *value)
Definition: blpapi_name.h:150
#define BLPAPI_CALL(FUNCNAME)
Definition: blpapi_call.h:353
blpapi_Float64_t Float64
Definition: blpapi_types.h:474
void pushElement(const Name &name)
Definition: blpapi_eventformatter.h:1573
void setElement(const Name &name, bool value)
Definition: blpapi_eventformatter.h:1476
void setElementNull(const Name &name)
Definition: blpapi_eventformatter.h:1561
int blpapi_EventFormatter_appendMessage(blpapi_EventFormatter_t *formatter, const char *typeString, blpapi_Name_t *typeName, const blpapi_Topic_t *topic)
blpapi_Name_t * impl() const
Definition: blpapi_name.h:403
int blpapi_EventFormatter_appendRecapMessageSeq(blpapi_EventFormatter_t *formatter, const blpapi_Topic_t *topic, const blpapi_CorrelationId_t *cid, unsigned int sequenceNumber, unsigned int)
int blpapi_Int32_t
Definition: blpapi_types.h:67
int blpapi_EventFormatter_appendFragmentedRecapMessage(blpapi_EventFormatter_t *formatter, const char *typeString, blpapi_Name_t *typeName, const blpapi_Topic_t *topic, const blpapi_CorrelationId_t *cid, int fragmentType)
int blpapi_EventFormatter_appendFragmentedRecapMessageSeq(blpapi_EventFormatter_t *formatter, const char *typeString, blpapi_Name_t *typeName, const blpapi_Topic_t *topic, int fragmentType, unsigned int sequenceNumber)
struct blpapi_Name blpapi_Name_t
Definition: blpapi_types.h:154
int blpapi_EventFormatter_appendValueFromName(blpapi_EventFormatter_t *formatter, const blpapi_Name_t *value)
int blpapi_EventFormatter_appendResponse(blpapi_EventFormatter_t *formatter, const char *typeString, blpapi_Name_t *typeName)
#define BLPAPI_CALL_EVENTFORMATTER_APPENDRECAPMESSAGESEQ(a1, a2, a3, a4, a5)
Definition: blpapi_call.h:358
int blpapi_Bool_t
Definition: blpapi_types.h:62
blpapi_Float32_t Float32
Definition: blpapi_types.h:473
A component which defines events related operations.
struct blpapi_SchemaElementDefinition blpapi_SchemaElementDefinition_t
Definition: blpapi_types.h:191
void appendElement()
Definition: blpapi_eventformatter.h:1650
int blpapi_EventFormatter_setValueChar(blpapi_EventFormatter_t *formatter, const char *typeString, const blpapi_Name_t *typeName, char value)
static void throwOnError(int errorCode)
Definition: blpapi_exception.h:526
~EventFormatter()
Definition: blpapi_eventformatter.h:1199
int blpapi_EventFormatter_setValueFloat64(blpapi_EventFormatter_t *formatter, const char *typeString, const blpapi_Name_t *typeName, blpapi_Float64_t value)
const blpapi_Topic_t * impl() const
Definition: blpapi_topic.h:221
#define BLPAPI_CALL_EVENTFORMATTER_SETVALUENULL(a1, a2, a3)
Definition: blpapi_call.h:409
int blpapi_EventFormatter_appendValueInt64(blpapi_EventFormatter_t *formatter, blpapi_Int64_t value)
blpapi_Datetime_t & rawValue()
Definition: blpapi_datetime.h:1952
int blpapi_EventFormatter_appendValueInt32(blpapi_EventFormatter_t *formatter, blpapi_Int32_t value)
Definition: blpapi_correlationid.h:201
void appendResponse(const Name &operationName)
Definition: blpapi_eventformatter.h:1240
Definition: blpapi_eventformatter.h:312
Provide representation of a Topic.
int blpapi_EventFormatter_appendMessageSeq(blpapi_EventFormatter_t *formatter, const char *typeString, blpapi_Name_t *typeName, const blpapi_Topic_t *topic, unsigned int sequenceNumber, unsigned int)
blpapi_Int64_t Int64
Definition: blpapi_types.h:471
struct blpapi_Topic blpapi_Topic_t
Definition: blpapi_dispatchtbl.h:75
int blpapi_EventFormatter_appendValueString(blpapi_EventFormatter_t *formatter, const char *value)
Definition: blpapi_datetime.h:102
int blpapi_EventFormatter_setValueInt64(blpapi_EventFormatter_t *formatter, const char *typeString, const blpapi_Name_t *typeName, blpapi_Int64_t value)
int blpapi_EventFormatter_setValueString(blpapi_EventFormatter_t *formatter, const char *typeString, const blpapi_Name_t *typeName, const char *value)
int blpapi_EventFormatter_appendValueFloat32(blpapi_EventFormatter_t *formatter, blpapi_Float32_t value)
struct blpapi_EventFormatter blpapi_EventFormatter_t
Definition: blpapi_types.h:145
int blpapi_EventFormatter_setValueInt32(blpapi_EventFormatter_t *formatter, const char *typeString, const blpapi_Name_t *typeName, blpapi_Int32_t value)
void appendMessage(const Name &messageType, const Topic &topic)
Definition: blpapi_eventformatter.h:1211
double blpapi_Float64_t
Definition: blpapi_types.h:72
Definition: blpapi_topic.h:114
Fragment
Definition: blpapi_message.h:171
int blpapi_EventFormatter_setValueFromName(blpapi_EventFormatter_t *formatter, const char *typeString, const blpapi_Name_t *typeName, const blpapi_Name_t *value)
int blpapi_EventFormatter_appendValueBool(blpapi_EventFormatter_t *formatter, blpapi_Bool_t value)
long long blpapi_Int64_t
Definition: blpapi_types.h:69
void appendValue(bool value)
Definition: blpapi_eventformatter.h:1584
Definition: blpapi_event.h:196
int blpapi_EventFormatter_popElement(blpapi_EventFormatter_t *formatter)
int blpapi_EventFormatter_appendRecapMessage(blpapi_EventFormatter_t *formatter, const blpapi_Topic_t *topic, const blpapi_CorrelationId_t *cid)
int blpapi_EventFormatter_setValueHighPrecisionDatetime(blpapi_EventFormatter_t *formatter, const char *typeString, const blpapi_Name_t *typeName, const blpapi_HighPrecisionDatetime_t *value)
int blpapi_EventFormatter_appendValueDatetime(blpapi_EventFormatter_t *formatter, const blpapi_Datetime_t *value)
float blpapi_Float32_t
Definition: blpapi_types.h:71
int blpapi_EventFormatter_setValueBool(blpapi_EventFormatter_t *formatter, const char *typeString, const blpapi_Name_t *typeName, blpapi_Bool_t value)
blpapi_EventFormatter_t * blpapi_EventFormatter_create(blpapi_Event_t *event)
#define BLPAPI_EXPORT
Definition: blpapi_defs.h:171
Definition: blpapi_datetime.h:245
Provide functions for dispatchtbl.
int blpapi_EventFormatter_pushElement(blpapi_EventFormatter_t *formatter, const char *typeString, const blpapi_Name_t *typeName)
void appendRecapMessage(const Topic &topic, const CorrelationId *cid=0)
Definition: blpapi_eventformatter.h:1246
blpapi_Event_t * impl() const
Definition: blpapi_event.h:553
Provide BLPAPI types.
int blpapi_EventFormatter_getElementDefinition(blpapi_EventFormatter_t *formatter, blpapi_SchemaElementDefinition_t **definition)
void popElement()
Definition: blpapi_eventformatter.h:1579
Definition: blpapi_datetime.h:115