BLPAPI C++ 3.26.6
Loading...
Searching...
No Matches
blpapi_call.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
27
28#ifndef INCLUDED_BLPAPI_CALL
29#define INCLUDED_BLPAPI_CALL
30
46#ifdef __cplusplus
47
49// We only support dispatchtbl on windows currently
50#if defined(_WIN32) || defined(__WIN32__) || defined(BLPAPI_FORCE_DISPATCHTBL)
51#include <blpapi_dispatchtbl.h>
52#include <blpapi_exception.h>
53
54// NOTE: The following macros are used to avoid direct dependencies
55// on functions that may not be available in an old DLL.
56
57#define BLPAPI_TABLE_CHECK(FUNCNAME) \
58 ((g_blpapiFunctionTableSize \
59 && offsetof(blpapi_FunctionEntries_t, FUNCNAME) \
60 < g_blpapiFunctionTableSize - 1) \
61 ? 1 \
62 : 0)
63
64#define BLPAPI_TABLE_CALL(FUNCNAME) \
65 (BLPAPI_TABLE_CHECK(FUNCNAME) ? BLPAPI_CALL_UNCHECKED(FUNCNAME) \
66 : BLPAPI_UNSUPPORTED_CALL(FUNCNAME))
67
68#define BLPAPI_CALL_AVAILABLE(FUNCNAME) BLPAPI_TABLE_CHECK(FUNCNAME)
69#define BLPAPI_CALL(FUNCNAME) BLPAPI_TABLE_CALL(FUNCNAME)
70#define BLPAPI_CALL_UNCHECKED(FUNCNAME) g_blpapiFunctionEntries.FUNCNAME
71
72#define BLPAPI_UNSUPPORTED_CALL(FUNCNAME) \
73 (throw UnsupportedOperationException(#FUNCNAME " not supported"))
74
75#define BLPAPI_CALL_EVENTFORMATTER_APPENDMESSAGESEQ(a1, a2, a3, a4, a5, a6) \
76 (BLPAPI_TABLE_CALL(blpapi_EventFormatter_appendMessageSeq)( \
77 a1, a2, a3, a4, a5, a6))
78
79#define BLPAPI_CALL_EVENTFORMATTER_APPENDRECAPMESSAGESEQ(a1, a2, a3, a4, a5) \
80 (BLPAPI_TABLE_CALL(blpapi_EventFormatter_appendRecapMessageSeq)( \
81 a1, a2, a3, a4, a5))
82
83#define BLPAPI_CALL_MESSAGE_ADDREF(a1) \
84 (BLPAPI_TABLE_CHECK(blpapi_Message_addRef) \
85 ? g_blpapiFunctionEntries.blpapi_Message_addRef(a1) \
86 : 0)
87
88#define BLPAPI_CALL_MESSAGE_RELEASE(a1) \
89 (BLPAPI_TABLE_CHECK(blpapi_Message_release) \
90 ? g_blpapiFunctionEntries.blpapi_Message_release(a1) \
91 : 0)
92
93#define BLPAPI_CALL_SESSIONOPTIONS_SETMAXEVENTQUEUESIZE(a1, a2) \
94 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_setMaxEventQueueSize) \
95 ? g_blpapiFunctionEntries \
96 .blpapi_SessionOptions_setMaxEventQueueSize( \
97 a1, a2) \
98 : (void)0)
99
100#define BLPAPI_CALL_SESSIONOPTIONS_SETSLOWCONSUMERHIWATERMARK(a1, a2) \
101 (BLPAPI_TABLE_CHECK( \
102 blpapi_SessionOptions_setSlowConsumerWarningHiWaterMark) \
103 ? g_blpapiFunctionEntries \
104 .blpapi_SessionOptions_setSlowConsumerWarningHiWaterMark( \
105 a1, a2) \
106 : 0)
107
108#define BLPAPI_CALL_SESSIONOPTIONS_SETSLOWCONSUMERLOWATERMARK(a1, a2) \
109 (BLPAPI_TABLE_CHECK( \
110 blpapi_SessionOptions_setSlowConsumerWarningLoWaterMark) \
111 ? g_blpapiFunctionEntries \
112 .blpapi_SessionOptions_setSlowConsumerWarningLoWaterMark( \
113 a1, a2) \
114 : 0)
115
116#define BLPAPI_CALL_REQUEST_SETPREFERREDROUTE(a1, a2) \
117 do { \
118 if (BLPAPI_TABLE_CHECK(blpapi_Request_setPreferredRoute)) \
119 g_blpapiFunctionEntries.blpapi_Request_setPreferredRoute(a1, a2); \
120 } while (0)
121
122#define BLPAPI_CALL_MESSAGE_FRAGMENTTYPE(a1) \
123 (BLPAPI_TABLE_CHECK(blpapi_Message_fragmentType) \
124 ? g_blpapiFunctionEntries.blpapi_Message_fragmentType(a1) \
125 : 0)
126
127#define BLPAPI_CALL_SESSIONOPTIONS_MAXEVENTQUEUESIZE(a1) \
128 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_maxEventQueueSize) \
129 ? g_blpapiFunctionEntries \
130 .blpapi_SessionOptions_maxEventQueueSize(a1) \
131 : ULONG_MAX)
132
133#define BLPAPI_CALL_SESSIONOPTIONS_SLOWCONSUMERHIWATERMARK(a1) \
134 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_slowConsumerWarningHiWaterMark) \
135 ? g_blpapiFunctionEntries \
136 .blpapi_SessionOptions_slowConsumerWarningHiWaterMark( \
137 a1) \
138 : 1.0f)
139
140#define BLPAPI_CALL_SESSIONOPTIONS_SLOWCONSUMERLOWATERMARK(a1) \
141 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_slowConsumerWarningLoWaterMark) \
142 ? g_blpapiFunctionEntries \
143 .blpapi_SessionOptions_slowConsumerWarningLoWaterMark( \
144 a1) \
145 : 0.0f)
146
147#define BLPAPI_CALL_SESSIONOPTIONS_DEFAULTKEEPALIVEINACTIVITYTIME(h) \
148 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_defaultKeepAliveInactivityTime) \
149 ? g_blpapiFunctionEntries \
150 .blpapi_SessionOptions_defaultKeepAliveInactivityTime( \
151 h) \
152 : INT_MAX)
153
154#define BLPAPI_CALL_SESSIONOPTIONS_DEFAULTKEEPALIVERESPONSETIMEOUT(h) \
155 (BLPAPI_TABLE_CHECK( \
156 blpapi_SessionOptions_defaultKeepAliveResponseTimeout) \
157 ? g_blpapiFunctionEntries \
158 .blpapi_SessionOptions_defaultKeepAliveResponseTimeout( \
159 h) \
160 : INT_MAX)
161
162#define BLPAPI_CALL_SESSIONOPTIONS_KEEPALIVEENABLED(h) \
163 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_keepAliveEnabled) \
164 ? g_blpapiFunctionEntries \
165 .blpapi_SessionOptions_keepAliveEnabled(h) \
166 : 1)
167
168#define BLPAPI_CALL_SESSIONOPTIONS_BANDWIDTHSAVEMODEDISABLED(a1) \
169 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_bandwidthSaveModeDisabled) \
170 ? g_blpapiFunctionEntries \
171 .blpapi_SessionOptions_bandwidthSaveModeDisabled( \
172 a1) \
173 : 1)
174
175#define BLPAPI_CALL_SESSIONOPTIONS_SETDEFAULTKEEPALIVEINACTIVITYTIME(h, t) \
176 (BLPAPI_TABLE_CHECK( \
177 blpapi_SessionOptions_setDefaultKeepAliveInactivityTime) \
178 ? g_blpapiFunctionEntries \
179 .blpapi_SessionOptions_setDefaultKeepAliveInactivityTime( \
180 h, t) \
181 : 0)
182
183#define BLPAPI_CALL_SESSIONOPTIONS_SETDEFAULTKEEPALIVERESPONSETIMEOUT(h, t) \
184 (BLPAPI_TABLE_CHECK( \
185 blpapi_SessionOptions_setDefaultKeepAliveResponseTimeout) \
186 ? g_blpapiFunctionEntries \
187 .blpapi_SessionOptions_setDefaultKeepAliveResponseTimeout( \
188 h, t) \
189 : 0)
190
191#define BLPAPI_CALL_SESSIONOPTIONS_SETKEEPALIVEENABLED(h, t) \
192 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_setKeepAliveEnabled) \
193 ? g_blpapiFunctionEntries \
194 .blpapi_SessionOptions_setKeepAliveEnabled( \
195 h, t) \
196 : 0)
197
198#define BLPAPI_CALL_SESSIONOPTIONS_SETBANDWIDTHSAVEMODEDISABLED(a1, a2) \
199 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_setBandwidthSaveModeDisabled) \
200 ? g_blpapiFunctionEntries \
201 .blpapi_SessionOptions_setBandwidthSaveModeDisabled( \
202 a1, a2) \
203 : 0)
204
205#define BLPAPI_CALL_HIGHPRECISIONDATETIME_COMPARE(a1, a2) \
206 (BLPAPI_TABLE_CHECK(blpapi_HighPrecisionDatetime_compare) \
207 ? g_blpapiFunctionEntries \
208 .blpapi_HighPrecisionDatetime_compare(a1, a2) \
209 : blpapi_Datetime_compare( \
210 (a1)->datetime, (a2)->datetime))
211
212#define BLPAPI_CALL_HIGHPRECISIONDATETIME_PRINT(a1, a2, a3, a4, a5) \
213 (BLPAPI_TABLE_CHECK(blpapi_HighPrecisionDatetime_print) \
214 ? g_blpapiFunctionEntries \
215 .blpapi_HighPrecisionDatetime_print( \
216 a1, a2, a3, a4, a5) \
217 : blpapi_Datetime_print( \
218 &((a1)->datetime), a2, a3, a4, a5))
219
220#define BLPAPI_CALL_ELEMENT_SETVALUEHIGHPRECISIONDATETIME(a1, a2, a3) \
221 (BLPAPI_TABLE_CHECK(blpapi_Element_setValueHighPrecisionDatetime) \
222 ? g_blpapiFunctionEntries \
223 .blpapi_Element_setValueHighPrecisionDatetime( \
224 a1, a2, a3) \
225 : blpapi_Element_setValueDatetime( \
226 a1, &((a2)->datetime), a3))
227
228#define BLPAPI_CALL_ELEMENT_SETELEMENTHIGHPRECISIONDATETIME(a1, a2, a3, a4) \
229 (BLPAPI_TABLE_CHECK(blpapi_Element_setElementHighPrecisionDatetime) \
230 ? g_blpapiFunctionEntries \
231 .blpapi_Element_setElementHighPrecisionDatetime( \
232 a1, a2, a3, a4) \
233 : blpapi_Element_setElementDatetime( \
234 a1, a2, a3, &((a4)->datetime)))
235
236#define BLPAPI_CALL_ELEMENT_GETVALUEASHIGHPRECISIONDATETIME(a1, a2, a3) \
237 if (BLPAPI_TABLE_CHECK(blpapi_Element_getValueAsHighPrecisionDatetime)) { \
238 return g_blpapiFunctionEntries \
239 .blpapi_Element_getValueAsHighPrecisionDatetime( \
240 a1, &(a2)->rawHighPrecisionValue(), a3); \
241 } else { \
242 buffer->rawHighPrecisionValue().picoseconds = 0; \
243 return blpapi_Element_getValueAsDatetime(a1, &(a2)->rawValue(), a3); \
244 }
245
246#define BLPAPI_CALL_SESSION_RESUBSCRIBEWITHID(a1, a2, a3, a4, a5) \
247 (BLPAPI_TABLE_CHECK(blpapi_Session_resubscribeWithId) \
248 ? g_blpapiFunctionEntries \
249 .blpapi_Session_resubscribeWithId( \
250 a1, a2, a3, a4, a5) \
251 : blpapi_Session_resubscribe(a1, a2, a4, a5))
252
253#define BLPAPI_CALL_EVENTFORMATTER_SETVALUENULL(a1, a2, a3) \
254 (BLPAPI_TABLE_CALL(blpapi_EventFormatter_setValueNull)(a1, a2, a3))
255
256#define BLPAPI_CALL_DIAGNOSTICSUTIL_MEMORYINFO(a1, a2) \
257 if (BLPAPI_TABLE_CHECK(blpapi_DiagnosticsUtil_memoryInfo)) { \
258 return g_blpapiFunctionEntries.blpapi_DiagnosticsUtil_memoryInfo( \
259 a1, a2); \
260 } else { \
261 return -1; \
262 }
263
264#define BLPAPI_CALL_SUBSCRIPTIONLIST_ADDRESOLVED(a1, a2, a3) \
265 (BLPAPI_TABLE_CHECK(blpapi_SubscriptionList_addResolved) \
266 ? g_blpapiFunctionEntries \
267 .blpapi_SubscriptionList_addResolved( \
268 a1, a2, a3) \
269 : blpapi_SubscriptionList_add(a1, a2, a3, 0, 0, 0, 0))
270
271#define BLPAPI_CALL_SUBSCRIPTIONLIST_ISRESOLVEDAT(a1, a2, a3) \
272 (BLPAPI_TABLE_CHECK(blpapi_SubscriptionList_isResolvedAt) \
273 ? g_blpapiFunctionEntries \
274 .blpapi_SubscriptionList_isResolvedAt( \
275 a1, a2, a3) \
276 : (*a2 = 0, 0))
277
278#define BLPAPI_CALL_PROVIDERSESSION_DEREGISTERSERVICE(a1, a2) \
279 (BLPAPI_TABLE_CALL(blpapi_ProviderSession_deregisterService)(a1, a2))
280
281#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_SETPARTSTOREGISTER(a1, a2) \
282 (BLPAPI_TABLE_CALL(blpapi_ServiceRegistrationOptions_setPartsToRegister)( \
283 a1, a2))
284
285#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_GETPARTSTOREGISTER(a1) \
286 (BLPAPI_TABLE_CALL(blpapi_ServiceRegistrationOptions_getPartsToRegister)( \
287 a1))
288
289#define BLPAPI_CALL_PROVIDERSESSION_DELETETOPICS(a1, a2, a3) \
290 (BLPAPI_TABLE_CALL(blpapi_ProviderSession_deleteTopics)(a1, a2, a3))
291
292#define BLPAPI_CALL_PROVIDERSESSION_TERMINATESUBSCRIPTIONSONTOPICS( \
293 a1, a2, a3, a4) \
294 (BLPAPI_TABLE_CALL( \
295 blpapi_ProviderSession_terminateSubscriptionsOnTopics)( \
296 a1, a2, a3, a4))
297
298#define BLPAPI_CALL_PROVIDERSESSION_ACTIVATESUBSERVICECODERANGE( \
299 a1, a2, a3, a4, a5) \
300 (BLPAPI_TABLE_CALL(blpapi_ProviderSession_activateSubServiceCodeRange)( \
301 a1, a2, a3, a4, a5))
302
303#define BLPAPI_CALL_PROVIDERSESSION_DEACTIVATESUBSERVICECODERANGE( \
304 a1, a2, a3, a4) \
305 (BLPAPI_TABLE_CALL(blpapi_ProviderSession_deactivateSubServiceCodeRange)( \
306 a1, a2, a3, a4))
307
308#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_ADDACTIVATESUBSERVICECODERANGE( \
309 a1, a2, a3, a4) \
310 (BLPAPI_TABLE_CALL( \
311 blpapi_ServiceRegistrationOptions_addActiveSubServiceCodeRange)( \
312 a1, a2, a3, a4))
313
314#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_REMOVEALLACTIVESUBSERVICECODERANGES( \
315 a1) \
316 (BLPAPI_TABLE_CALL( \
317 blpapi_ServiceRegistrationOptions_removeAllActiveSubServiceCodeRanges)( \
318 a1))
319
320#define BLPAPI_CALL_MESSAGE_TIMERECEIVED(a1, a2) \
321 (BLPAPI_TABLE_CALL(blpapi_Message_timeReceived)(a1, a2))
322
323#define BLPAPI_CALL_SESSIONOPTION_SETRECORDSUBSCRIPTIONDATARECEIVETIMES( \
324 a1, a2) \
325 (BLPAPI_TABLE_CHECK( \
326 blpapi_SessionOptions_setRecordSubscriptionDataReceiveTimes) \
327 ? g_blpapiFunctionEntries \
328 .blpapi_SessionOptions_setRecordSubscriptionDataReceiveTimes( \
329 a1, a2) \
330 : (void)0)
331
332#define BLPAPI_CALL_SESSIONOPTION_RECORDSUBSCRIPTIONDATARECEIVETIMES(a1) \
333 (BLPAPI_TABLE_CHECK( \
334 blpapi_SessionOptions_recordSubscriptionDataReceiveTimes) \
335 ? g_blpapiFunctionEntries \
336 .blpapi_SessionOptions_recordSubscriptionDataReceiveTimes( \
337 a1) \
338 : false)
339
340#define BLPAPI_CALL_TIMEPOINTUTIL_NANOSECONDSBETWEEN(a1, a2) \
341 (BLPAPI_TABLE_CALL(blpapi_TimePointUtil_nanosecondsBetween)(a1, a2))
342
343#define BLPAPI_CALL_HIGHRESOLUTIONCLOCK_NOW(a1) \
344 (BLPAPI_TABLE_CALL(blpapi_HighResolutionClock_now)(a1))
345
346#define BLPAPI_CALL_HIGHPRECISIONDATETIME_FROMTIMEPOINT(a1, a2, a3) \
347 (BLPAPI_TABLE_CALL(blpapi_HighPrecisionDatetime_fromTimePoint)(a1, a2, a3))
348
349#else // if defined(_WIN32) || defined(__WIN32__)
350
351#define BLPAPI_CALL_AVAILABLE(FUNCNAME) true
352#define BLPAPI_CALL(FUNCNAME) FUNCNAME
353#define BLPAPI_CALL_UNCHECKED(FUNCNAME) FUNCNAME
354
355#define BLPAPI_CALL_EVENTFORMATTER_APPENDMESSAGESEQ(a1, a2, a3, a4, a5, a6) \
356 (blpapi_EventFormatter_appendMessageSeq)(a1, a2, a3, a4, a5, a6)
357#define BLPAPI_CALL_EVENTFORMATTER_APPENDRECAPMESSAGESEQ(a1, a2, a3, a4, a5) \
358 (blpapi_EventFormatter_appendRecapMessageSeq)(a1, a2, a3, a4, a5)
359#define BLPAPI_CALL_MESSAGE_ADDREF(a1) (blpapi_Message_addRef)(a1)
360#define BLPAPI_CALL_MESSAGE_RELEASE(a1) (blpapi_Message_release)(a1)
361#define BLPAPI_CALL_SESSIONOPTIONS_SETMAXEVENTQUEUESIZE(a1, a2) \
362 (blpapi_SessionOptions_setMaxEventQueueSize)(a1, a2)
363#define BLPAPI_CALL_SESSIONOPTIONS_SETSLOWCONSUMERHIWATERMARK(a1, a2) \
364 (blpapi_SessionOptions_setSlowConsumerWarningHiWaterMark)(a1, a2)
365#define BLPAPI_CALL_SESSIONOPTIONS_SETSLOWCONSUMERLOWATERMARK(a1, a2) \
366 (blpapi_SessionOptions_setSlowConsumerWarningLoWaterMark)(a1, a2)
367#define BLPAPI_CALL_REQUEST_SETPREFERREDROUTE(a1, a2) \
368 (blpapi_Request_setPreferredRoute)(a1, a2)
369#define BLPAPI_CALL_MESSAGE_FRAGMENTTYPE(a1) (blpapi_Message_fragmentType)(a1)
370#define BLPAPI_CALL_SESSIONOPTIONS_MAXEVENTQUEUESIZE(a1) \
371 (blpapi_SessionOptions_maxEventQueueSize)(a1)
372#define BLPAPI_CALL_SESSIONOPTIONS_SLOWCONSUMERHIWATERMARK(a1) \
373 (blpapi_SessionOptions_slowConsumerWarningHiWaterMark)(a1)
374#define BLPAPI_CALL_SESSIONOPTIONS_SLOWCONSUMERLOWATERMARK(a1) \
375 (blpapi_SessionOptions_slowConsumerWarningLoWaterMark)(a1)
376
377#define BLPAPI_CALL_SESSIONOPTIONS_DEFAULTKEEPALIVEINACTIVITYTIME(a1) \
378 (blpapi_SessionOptions_defaultKeepAliveInactivityTime)(a1)
379#define BLPAPI_CALL_SESSIONOPTIONS_DEFAULTKEEPALIVERESPONSETIMEOUT(a1) \
380 (blpapi_SessionOptions_defaultKeepAliveResponseTimeout)(a1)
381#define BLPAPI_CALL_SESSIONOPTIONS_KEEPALIVEENABLED(a1) \
382 (blpapi_SessionOptions_keepAliveEnabled)(a1)
383#define BLPAPI_CALL_SESSIONOPTIONS_SETDEFAULTKEEPALIVEINACTIVITYTIME(a1, a2) \
384 (blpapi_SessionOptions_setDefaultKeepAliveInactivityTime)(a1, a2)
385#define BLPAPI_CALL_SESSIONOPTIONS_SETDEFAULTKEEPALIVERESPONSETIMEOUT(a1, a2) \
386 (blpapi_SessionOptions_setDefaultKeepAliveResponseTimeout)(a1, a2)
387#define BLPAPI_CALL_SESSIONOPTIONS_SETKEEPALIVEENABLED(a1, a2) \
388 (blpapi_SessionOptions_setKeepAliveEnabled)(a1, a2)
389#define BLPAPI_CALL_SESSIONOPTIONS_SETBANDWIDTHSAVEMODEDISABLED(a1, a2) \
390 (blpapi_SessionOptions_setBandwidthSaveModeDisabled)(a1, a2)
391#define BLPAPI_CALL_SESSIONOPTIONS_BANDWIDTHSAVEMODEDISABLED(a1) \
392 (blpapi_SessionOptions_bandwidthSaveModeDisabled)(a1)
393
394#define BLPAPI_CALL_HIGHPRECISIONDATETIME_COMPARE(a1, a2) \
395 (blpapi_HighPrecisionDatetime_compare)(a1, a2)
396#define BLPAPI_CALL_HIGHPRECISIONDATETIME_PRINT(a1, a2, a3, a4, a5) \
397 (blpapi_HighPrecisionDatetime_print)(a1, a2, a3, a4, a5)
398#define BLPAPI_CALL_ELEMENT_SETVALUEHIGHPRECISIONDATETIME(a1, a2, a3) \
399 (blpapi_Element_setValueHighPrecisionDatetime(a1, a2, a3))
400#define BLPAPI_CALL_ELEMENT_SETELEMENTHIGHPRECISIONDATETIME(a1, a2, a3, a4) \
401 (blpapi_Element_setElementHighPrecisionDatetime(a1, a2, a3, a4))
402#define BLPAPI_CALL_ELEMENT_GETVALUEASHIGHPRECISIONDATETIME(a1, a2, a3) \
403 return blpapi_Element_getValueAsHighPrecisionDatetime( \
404 a1, &a2->rawHighPrecisionValue(), a3);
405#define BLPAPI_CALL_SESSION_RESUBSCRIBEWITHID(a1, a2, a3, a4, a5) \
406 (blpapi_Session_resubscribeWithId)(a1, a2, a3, a4, a5)
407
408#define BLPAPI_CALL_EVENTFORMATTER_SETVALUENULL(a1, a2, a3) \
409 (blpapi_EventFormatter_setValueNull)(a1, a2, a3)
410
411#define BLPAPI_CALL_DIAGNOSTICSUTIL_MEMORYINFO(a1, a2) \
412 return blpapi_DiagnosticsUtil_memoryInfo(a1, a2);
413
414#define BLPAPI_CALL_SUBSCRIPTIONLIST_ADDRESOLVED(a1, a2, a3) \
415 (blpapi_SubscriptionList_addResolved)(a1, a2, a3)
416#define BLPAPI_CALL_SUBSCRIPTIONLIST_ISRESOLVEDAT(a1, a2, a3) \
417 (blpapi_SubscriptionList_isResolvedAt)(a1, a2, a3)
418
419#define BLPAPI_CALL_PROVIDERSESSION_DEREGISTERSERVICE(a1, a2) \
420 (blpapi_ProviderSession_deregisterService(a1, a2))
421
422#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_SETPARTSTOREGISTER(a1, a2) \
423 (blpapi_ServiceRegistrationOptions_setPartsToRegister(a1, a2))
424
425#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_GETPARTSTOREGISTER(a1) \
426 (blpapi_ServiceRegistrationOptions_getPartsToRegister(a1))
427
428#define BLPAPI_CALL_PROVIDERSESSION_DELETETOPICS(a1, a2, a3) \
429 (blpapi_ProviderSession_deleteTopics(a1, a2, a3))
430
431#define BLPAPI_CALL_PROVIDERSESSION_TERMINATESUBSCRIPTIONSONTOPICS( \
432 a1, a2, a3, a4) \
433 (blpapi_ProviderSession_terminateSubscriptionsOnTopics(a1, a2, a3, a4))
434
435#define BLPAPI_CALL_PROVIDERSESSION_ACTIVATESUBSERVICECODERANGE( \
436 a1, a2, a3, a4, a5) \
437 (blpapi_ProviderSession_activateSubServiceCodeRange)(a1, a2, a3, a4, a5)
438
439#define BLPAPI_CALL_PROVIDERSESSION_DEACTIVATESUBSERVICECODERANGE( \
440 a1, a2, a3, a4) \
441 (blpapi_ProviderSession_deactivateSubServiceCodeRange)(a1, a2, a3, a4)
442
443#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_ADDACTIVATESUBSERVICECODERANGE( \
444 a1, a2, a3, a4) \
445 (blpapi_ServiceRegistrationOptions_addActiveSubServiceCodeRange)( \
446 a1, a2, a3, a4)
447
448#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_REMOVEALLACTIVESUBSERVICECODERANGES( \
449 a1) \
450 (blpapi_ServiceRegistrationOptions_removeAllActiveSubServiceCodeRanges)(a1)
451
452#define BLPAPI_CALL_MESSAGE_TIMERECEIVED(a1, a2) \
453 (blpapi_Message_timeReceived)(a1, a2)
454#define BLPAPI_CALL_SESSIONOPTION_SETRECORDSUBSCRIPTIONDATARECEIVETIMES( \
455 a1, a2) \
456 (blpapi_SessionOptions_setRecordSubscriptionDataReceiveTimes)(a1, a2)
457#define BLPAPI_CALL_SESSIONOPTION_RECORDSUBSCRIPTIONDATARECEIVETIMES(a1) \
458 (blpapi_SessionOptions_recordSubscriptionDataReceiveTimes)(a1)
459
460#define BLPAPI_CALL_TIMEPOINTUTIL_NANOSECONDSBETWEEN(a1, a2) \
461 (blpapi_TimePointUtil_nanosecondsBetween)(a1, a2)
462#define BLPAPI_CALL_HIGHRESOLUTIONCLOCK_NOW(a1) \
463 (blpapi_HighResolutionClock_now)(a1)
464#define BLPAPI_CALL_HIGHPRECISIONDATETIME_FROMTIMEPOINT(a1, a2, a3) \
465 (blpapi_HighPrecisionDatetime_fromTimePoint)(a1, a2, a3)
466
467#endif // if defined(_WIN32) || defined(__WIN32__)
468 // || defined(BLPAPI_FORCE_DISPATCHTBL)
470
471#endif // __cplusplus
472
473#endif // INCLUDED_BLPAPI_CALL
Work with dispatch table.
Defines Exceptions that can be thrown by the blpapi library.