BLPAPI C++  3.23.2
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_event.h>
62 #include <blpapi_topic.h>
63 #include <blpapi_types.h>
64 
65 #include <stddef.h>
66 
67 #ifdef __cplusplus
68 extern "C" {
69 #endif
70 
73 
76 
79  const char *typeString,
80  blpapi_Name_t *typeName,
81  const blpapi_Topic_t *topic);
82 
85  const char *typeString,
86  blpapi_Name_t *typeName,
87  const blpapi_Topic_t *topic,
88  unsigned int sequenceNumber,
89  unsigned int);
90 
93  const char *typeString,
94  blpapi_Name_t *typeName);
95 
98  blpapi_EventFormatter_t *formatter,
99  const blpapi_Topic_t *topic,
100  const blpapi_CorrelationId_t *cid);
101 
104  blpapi_EventFormatter_t *formatter,
105  const blpapi_Topic_t *topic,
106  const blpapi_CorrelationId_t *cid,
107  unsigned int sequenceNumber,
108  unsigned int);
109 
112  blpapi_EventFormatter_t *formatter,
113  const char *typeString,
114  blpapi_Name_t *typeName,
115  const blpapi_Topic_t *topic,
116  const blpapi_CorrelationId_t *cid,
117  int fragmentType);
118 
121  blpapi_EventFormatter_t *formatter,
122  const char *typeString,
123  blpapi_Name_t *typeName,
124  const blpapi_Topic_t *topic,
125  int fragmentType,
126  unsigned int sequenceNumber);
127 
130  const char *typeString,
131  const blpapi_Name_t *typeName,
132  blpapi_Bool_t value);
133 
136  const char *typeString,
137  const blpapi_Name_t *typeName,
138  char value);
139 
142  const char *typeString,
143  const blpapi_Name_t *typeName,
144  blpapi_Int32_t value);
145 
148  const char *typeString,
149  const blpapi_Name_t *typeName,
150  blpapi_Int64_t value);
151 
154  const char *typeString,
155  const blpapi_Name_t *typeName,
156  blpapi_Float32_t value);
157 
160  const char *typeString,
161  const blpapi_Name_t *typeName,
162  blpapi_Float64_t value);
163 
166  const char *typeString,
167  const blpapi_Name_t *typeName,
168  const blpapi_Datetime_t *value);
169 
172  blpapi_EventFormatter_t *formatter,
173  const char *typeString,
174  const blpapi_Name_t *typeName,
175  const blpapi_HighPrecisionDatetime_t *value);
176 
179  const char *typeString,
180  const blpapi_Name_t *typeName,
181  const char *value);
182 
185  const char *typeString,
186  const blpapi_Name_t *typeName,
187  const blpapi_Name_t *value);
188 
191  const char *typeString,
192  const blpapi_Name_t *typeName,
193  const char *value,
194  size_t length);
195 
198  const char *typeString,
199  const blpapi_Name_t *typeName);
200 
203  const char *typeString,
204  const blpapi_Name_t *typeName);
205 
208 
211  blpapi_EventFormatter_t *formatter, blpapi_Bool_t value);
212 
215  blpapi_EventFormatter_t *formatter, char value);
216 
219  blpapi_EventFormatter_t *formatter, blpapi_Int32_t value);
220 
223  blpapi_EventFormatter_t *formatter, blpapi_Int64_t value);
224 
227  blpapi_EventFormatter_t *formatter, blpapi_Float32_t value);
228 
231  blpapi_EventFormatter_t *formatter, blpapi_Float64_t value);
232 
235  blpapi_EventFormatter_t *formatter, const blpapi_Datetime_t *value);
236 
239  blpapi_EventFormatter_t *formatter,
240  const blpapi_HighPrecisionDatetime_t *value);
241 
244  blpapi_EventFormatter_t *formatter, const char *value);
245 
248  blpapi_EventFormatter_t *formatter, const blpapi_Name_t *value);
249 
252 
253 #ifdef __cplusplus
254 }
255 
256 #include <string>
257 #include <type_traits>
258 
266 namespace BloombergLP {
267 namespace blpapi {
268 
307 
308  blpapi_EventFormatter_t *d_handle;
309 
310  private:
311  EventFormatter& operator=(const EventFormatter&);
313  EventFormatter();
314 
315  public:
316  EventFormatter(Event& event);
324  ~EventFormatter();
329  void appendMessage(const Name& messageType, const Topic& topic);
337  void appendMessage(const Name& messageType,
338  const Topic& topic,
339  unsigned int sequenceNumber);
351  void appendResponse(const Name& operationName);
363  void appendRecapMessage(const Topic& topic, const CorrelationId *cid = 0);
383  void appendRecapMessage(
384  const Topic& topic, Message::Fragment fragmentType);
400  void appendRecapMessage(const Name& messageType,
401  const Topic& topic,
420  void appendRecapMessage(const Topic& topic,
421  unsigned int sequenceNumber,
422  const CorrelationId *cid = 0);
445  void appendRecapMessage(const Name& messageType,
446  const Topic& topic,
447  unsigned int sequenceNumber);
461  void appendRecapMessage(const Topic& topic,
462  Message::Fragment fragmentType,
463  unsigned int sequenceNumber);
484  void appendRecapMessage(const Name& messageType,
485  const Topic& topic,
486  Message::Fragment fragmentType,
487  unsigned int sequenceNumber);
508  void appendRecapMessage(const CorrelationId& cid,
529  void appendRecapMessage(const Name& messageType,
530  const CorrelationId& cid,
551  void setElement(const Name& name, bool value);
561  void setElement(const Name& name, char value);
571  void setElement(const Name& name, Int32 value);
581  void setElement(const Name& name, Int64 value);
591  void setElement(const Name& name, Float32 value);
601  void setElement(const Name& name, Float64 value);
611  void setElement(const Name& name, const Datetime& value);
622  void setElement(const Name& name, const Datetime::HighPrecision& value);
634  void setElement(const Name& name, const char *value);
647  void setElement(const Name& name, const std::string& value);
658  void setElement(const Name& name, const Name& value);
668  void setElement(const Name& name, const void *value, size_t length);
682  template <typename BYTES,
683  typename std::enable_if<IsByteSequence<BYTES>::value, bool>::type
684  = true>
685  void setElement(const Name& name, const BYTES& value);
701  void setElementNull(const Name& name);
712  void pushElement(const Name& name);
730  void popElement();
740  void appendValue(bool value);
747  void appendValue(char value);
754  void appendValue(Int32 value);
761  void appendValue(Int64 value);
768  void appendValue(Float32 value);
775  void appendValue(Float64 value);
782  void appendValue(const char *value);
789  void appendValue(const std::string& value);
796  void appendValue(const Name& value);
803  void appendValue(const Datetime& value);
810  void appendValue(const Datetime::HighPrecision& value);
817  void appendElement();
828  void appendMessage(const char *messageType, const Topic& topic);
838  void appendMessage(const char *messageType,
839  const Topic& topic,
840  unsigned int sequenceNumber);
855  void appendResponse(const char *operationName);
869  void appendRecapMessage(const char *messageType,
870  const Topic& topic,
893  void appendRecapMessage(const char *messageType,
894  const Topic& topic,
895  unsigned int sequenceNumber);
912  void appendRecapMessage(const char *messageType,
913  const Topic& topic,
914  Message::Fragment fragmentType,
915  unsigned int sequenceNumber);
939  void appendRecapMessage(const char *messageType,
940  const CorrelationId& cid,
964  void setElement(const char *name, bool value);
981  void setElement(const char *name, char value);
998  void setElement(const char *name, Int32 value);
1015  void setElement(const char *name, Int64 value);
1032  void setElement(const char *name, Float32 value);
1049  void setElement(const char *name, Float64 value);
1066  void setElement(const char *name, const Datetime& value);
1084  void setElement(const char *name, const Datetime::HighPrecision& value);
1103  void setElement(const char *name, const char *value);
1123  void setElement(const char *name, const Name& value);
1140  void setElementNull(const char *name);
1158  void pushElement(const char *name);
1167 };
1168 
1172 // ============================================================================
1173 // INLINE AND TEMPLATE FUNCTION IMPLEMENTATIONS
1174 // ============================================================================
1175 
1176 // --------------------
1177 // class EventFormatter
1178 // --------------------
1179 
1180 inline EventFormatter::EventFormatter(Event& event)
1181 {
1182  d_handle = blpapi_EventFormatter_create(event.impl());
1183 }
1184 
1186 {
1188 }
1189 
1191  const char *messageType, const Topic& topic)
1192 {
1194  d_handle, messageType, 0, topic.impl()));
1195 }
1196 
1198  const Name& messageType, const Topic& topic)
1199 {
1201  d_handle, 0, messageType.impl(), topic.impl()));
1202 }
1203 
1204 inline void EventFormatter::appendMessage(const char *messageType,
1205  const Topic& topic,
1206  unsigned int sequenceNumber)
1207 {
1209  d_handle, messageType, 0, topic.impl(), sequenceNumber, 0));
1210 }
1211 
1212 inline void EventFormatter::appendMessage(const Name& messageType,
1213  const Topic& topic,
1214  unsigned int sequenceNumber)
1215 {
1217  d_handle, 0, messageType.impl(), topic.impl(), sequenceNumber, 0));
1218 }
1219 
1220 inline void EventFormatter::appendResponse(const char *operationName)
1221 {
1223  blpapi_EventFormatter_appendResponse(d_handle, operationName, 0));
1224 }
1225 
1226 inline void EventFormatter::appendResponse(const Name& operationName)
1227 {
1229  d_handle, 0, operationName.impl()));
1230 }
1231 
1233  const Topic& topic, const CorrelationId *cid)
1234 {
1236  d_handle, topic.impl(), cid ? &cid->impl() : 0));
1237 }
1238 
1240  const Topic& topic, Message::Fragment fragmentType)
1241 {
1244  0, // 'typeString'
1245  0, // 'typeName'
1246  topic.impl(), // 'topic'
1247  0, // 'cid'
1248  static_cast<int>(fragmentType)));
1249 }
1250 
1251 inline void EventFormatter::appendRecapMessage(const Name& messageType,
1252  const Topic& topic,
1253  Message::Fragment fragmentType)
1254 {
1257  0, // 'typeString'
1258  messageType.impl(), // 'typeName'
1259  topic.impl(), // 'topic'
1260  0, // 'cid'
1261  static_cast<int>(fragmentType)));
1262 }
1263 
1264 inline void EventFormatter::appendRecapMessage(const char *messageType,
1265  const Topic& topic,
1266  Message::Fragment fragmentType)
1267 {
1270  messageType, // 'typeString'
1271  0, // 'typeName'
1272  topic.impl(), // 'topic'
1273  0, // 'cid'
1274  static_cast<int>(fragmentType)));
1275 }
1276 
1278  unsigned int sequenceNumber,
1279  const CorrelationId *cid)
1280 {
1283  topic.impl(),
1284  cid ? &cid->impl() : 0,
1285  sequenceNumber,
1286  0));
1287 }
1288 
1289 inline void EventFormatter::appendRecapMessage(const Name& messageType,
1290  const Topic& topic,
1291  unsigned int sequenceNumber)
1292 {
1295  0, // 'typeString'
1296  messageType.impl(), // 'typeName'
1297  topic.impl(), // 'topic'
1298  static_cast<int>(Message::FRAGMENT_NONE),
1299  sequenceNumber));
1300 }
1301 
1302 inline void EventFormatter::appendRecapMessage(const char *messageType,
1303  const Topic& topic,
1304  unsigned int sequenceNumber)
1305 {
1308  messageType, // 'typeString'
1309  0, // 'typeName'
1310  topic.impl(), // 'topic'
1311  static_cast<int>(Message::FRAGMENT_NONE),
1312  sequenceNumber));
1313 }
1314 
1316  Message::Fragment fragmentType,
1317  unsigned int sequenceNumber)
1318 {
1321  0, // 'typeString'
1322  0, // 'typeName'
1323  topic.impl(), // 'topic'
1324  static_cast<int>(fragmentType),
1325  sequenceNumber));
1326 }
1327 
1328 inline void EventFormatter::appendRecapMessage(const Name& messageType,
1329  const Topic& topic,
1330  Message::Fragment fragmentType,
1331  unsigned int sequenceNumber)
1332 {
1335  0, // 'typeString'
1336  messageType.impl(), // 'typeName'
1337  topic.impl(), // 'topic'
1338  static_cast<int>(fragmentType),
1339  sequenceNumber));
1340 }
1341 
1342 inline void EventFormatter::appendRecapMessage(const char *messageType,
1343  const Topic& topic,
1344  Message::Fragment fragmentType,
1345  unsigned int sequenceNumber)
1346 {
1349  messageType, // 'typeString'
1350  0, // 'typeName'
1351  topic.impl(), // 'topic'
1352  static_cast<int>(fragmentType),
1353  sequenceNumber));
1354 }
1355 
1357  const CorrelationId& cid, Message::Fragment fragmentType)
1358 {
1361  0, // 'typeString'
1362  0, // 'typeName'
1363  0, // 'topic'
1364  &cid.impl(), // 'cid'
1365  static_cast<int>(fragmentType)));
1366 }
1367 
1368 inline void EventFormatter::appendRecapMessage(const Name& messageType,
1369  const CorrelationId& cid,
1370  Message::Fragment fragmentType)
1371 {
1374  0, // 'typeString'
1375  messageType.impl(), // 'typeName'
1376  0, // 'topic'
1377  &cid.impl(), // 'cid'
1378  static_cast<int>(fragmentType)));
1379 }
1380 
1381 inline void EventFormatter::appendRecapMessage(const char *messageType,
1382  const CorrelationId& cid,
1383  Message::Fragment fragmentType)
1384 {
1387  messageType, // 'typeString'
1388  0, // 'typeName'
1389  0, // 'topic'
1390  &cid.impl(), // 'cid'
1391  static_cast<int>(fragmentType)));
1392 }
1393 
1394 inline void EventFormatter::setElement(const char *name, bool value)
1395 {
1397  blpapi_EventFormatter_setValueBool(d_handle, name, 0, value));
1398 }
1399 
1400 inline void EventFormatter::setElement(const char *name, char value)
1401 {
1403  blpapi_EventFormatter_setValueChar(d_handle, name, 0, value));
1404 }
1405 
1406 inline void EventFormatter::setElement(const char *name, Int32 value)
1407 {
1409  blpapi_EventFormatter_setValueInt32(d_handle, name, 0, value));
1410 }
1411 
1412 inline void EventFormatter::setElement(const char *name, Int64 value)
1413 {
1415  blpapi_EventFormatter_setValueInt64(d_handle, name, 0, value));
1416 }
1417 
1418 inline void EventFormatter::setElement(const char *name, Float32 value)
1419 {
1421  blpapi_EventFormatter_setValueFloat32(d_handle, name, 0, value));
1422 }
1423 
1424 inline void EventFormatter::setElement(const char *name, Float64 value)
1425 {
1427  blpapi_EventFormatter_setValueFloat64(d_handle, name, 0, value));
1428 }
1429 
1430 inline void EventFormatter::setElement(const char *name, const Datetime& value)
1431 {
1433  d_handle, name, 0, &value.rawValue()));
1434 }
1435 
1437  const char *name, const Datetime::HighPrecision& value)
1438 {
1441  d_handle, name, 0, &value));
1442 }
1443 
1444 inline void EventFormatter::setElement(const char *name, const char *value)
1445 {
1447  blpapi_EventFormatter_setValueString(d_handle, name, 0, value));
1448 }
1449 
1450 inline void EventFormatter::setElement(const char *name, const Name& value)
1451 {
1453  d_handle, name, 0, value.impl()));
1454 }
1455 
1456 inline void EventFormatter::setElementNull(const char *name)
1457 {
1459  BLPAPI_CALL_EVENTFORMATTER_SETVALUENULL(d_handle, name, 0));
1460 }
1461 
1462 inline void EventFormatter::setElement(const Name& name, bool value)
1463 {
1465  d_handle, 0, name.impl(), value));
1466 }
1467 
1468 inline void EventFormatter::setElement(const Name& name, char value)
1469 {
1471  d_handle, 0, name.impl(), value));
1472 }
1473 
1474 inline void EventFormatter::setElement(const Name& name, Int32 value)
1475 {
1477  d_handle, 0, name.impl(), value));
1478 }
1479 
1480 inline void EventFormatter::setElement(const Name& name, Int64 value)
1481 {
1483  d_handle, 0, name.impl(), value));
1484 }
1485 
1486 inline void EventFormatter::setElement(const Name& name, Float32 value)
1487 {
1489  d_handle, 0, name.impl(), value));
1490 }
1491 inline void EventFormatter::setElement(const Name& name, Float64 value)
1492 {
1494  d_handle, 0, name.impl(), value));
1495 }
1496 
1497 inline void EventFormatter::setElement(const Name& name, const Datetime& value)
1498 {
1500  d_handle, 0, name.impl(), &value.rawValue()));
1501 }
1502 
1504  const Name& name, const Datetime::HighPrecision& value)
1505 {
1508  d_handle, 0, name.impl(), &value));
1509 }
1510 
1511 inline void EventFormatter::setElement(const Name& name, const char *value)
1512 {
1514  d_handle, 0, name.impl(), value));
1515 }
1516 
1518  const Name& name, const std::string& value)
1519 {
1520  setElement(name, value.c_str());
1521 }
1522 
1523 inline void EventFormatter::setElement(const Name& name, const Name& value)
1524 {
1526  d_handle, 0, name.impl(), value.impl()));
1527 }
1528 
1530  const Name& name, const void *value, size_t length)
1531 {
1534  0,
1535  name.impl(),
1536  reinterpret_cast<const char *>(value),
1537  length));
1538 }
1539 
1540 template <typename BYTES,
1541  typename std::enable_if<IsByteSequence<BYTES>::value, bool>::type>
1542 inline void EventFormatter::setElement(const Name& name, const BYTES& value)
1543 {
1544  setElement(name, value.data(), value.size());
1545 }
1546 
1547 inline void EventFormatter::setElementNull(const Name& name)
1548 {
1550  BLPAPI_CALL_EVENTFORMATTER_SETVALUENULL(d_handle, 0, name.impl()));
1551 }
1552 
1553 inline void EventFormatter::pushElement(const char *name)
1554 {
1556  blpapi_EventFormatter_pushElement(d_handle, name, 0));
1557 }
1558 
1559 inline void EventFormatter::pushElement(const Name& name)
1560 {
1562  blpapi_EventFormatter_pushElement(d_handle, 0, name.impl()));
1563 }
1564 
1566 {
1568 }
1569 
1570 inline void EventFormatter::appendValue(bool value)
1571 {
1573  blpapi_EventFormatter_appendValueBool(d_handle, value));
1574 }
1575 
1576 inline void EventFormatter::appendValue(char value)
1577 {
1579  blpapi_EventFormatter_appendValueChar(d_handle, value));
1580 }
1581 
1583 {
1585  blpapi_EventFormatter_appendValueInt32(d_handle, value));
1586 }
1587 
1589 {
1591  blpapi_EventFormatter_appendValueInt64(d_handle, value));
1592 }
1593 
1595 {
1597  blpapi_EventFormatter_appendValueFloat32(d_handle, value));
1598 }
1599 
1601 {
1603  blpapi_EventFormatter_appendValueFloat64(d_handle, value));
1604 }
1605 
1606 inline void EventFormatter::appendValue(const Datetime& value)
1607 {
1609  d_handle, &value.rawValue()));
1610 }
1611 
1613 {
1616  d_handle, &value));
1617 }
1618 
1619 inline void EventFormatter::appendValue(const char *value)
1620 {
1622  blpapi_EventFormatter_appendValueString(d_handle, value));
1623 }
1624 
1625 inline void EventFormatter::appendValue(const std::string& value)
1626 {
1627  appendValue(value.c_str());
1628 }
1629 
1630 inline void EventFormatter::appendValue(const Name& value)
1631 {
1633  blpapi_EventFormatter_appendValueFromName(d_handle, value.impl()));
1634 }
1635 
1637 {
1639 }
1640 
1641 } // close namespace blpapi
1642 } // close namespace BloombergLP
1643 
1644 #endif // #ifdef __cplusplus
1645 #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:171
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:220
#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:1559
void setElement(const Name &name, bool value)
Definition: blpapi_eventformatter.h:1462
void setElementNull(const Name &name)
Definition: blpapi_eventformatter.h:1547
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
struct blpapi_Topic blpapi_Topic_t
Definition: blpapi_topic.h:68
A component which defines events related operations.
void appendElement()
Definition: blpapi_eventformatter.h:1636
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:1185
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:1226
Definition: blpapi_eventformatter.h:306
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
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:1197
double blpapi_Float64_t
Definition: blpapi_types.h:72
Definition: blpapi_topic.h:114
Fragment
Definition: blpapi_message.h:169
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:1570
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:1232
blpapi_Event_t * impl() const
Definition: blpapi_event.h:550
Provide BLPAPI types.
void popElement()
Definition: blpapi_eventformatter.h:1565
Definition: blpapi_datetime.h:115