28#ifndef INCLUDED_BLPAPI_CALL
29#define INCLUDED_BLPAPI_CALL
50#if defined(_WIN32) || defined(__WIN32__) || defined(BLPAPI_FORCE_DISPATCHTBL)
57#define BLPAPI_TABLE_CHECK(FUNCNAME) \
58 ((g_blpapiFunctionTableSize \
59 && offsetof(blpapi_FunctionEntries_t, FUNCNAME) \
60 < g_blpapiFunctionTableSize - 1) \
64#define BLPAPI_TABLE_CALL(FUNCNAME) \
65 (BLPAPI_TABLE_CHECK(FUNCNAME) ? BLPAPI_CALL_UNCHECKED(FUNCNAME) \
66 : BLPAPI_UNSUPPORTED_CALL(FUNCNAME))
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
72#define BLPAPI_UNSUPPORTED_CALL(FUNCNAME) \
73 (throw UnsupportedOperationException(#FUNCNAME " not supported"))
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))
79#define BLPAPI_CALL_EVENTFORMATTER_APPENDRECAPMESSAGESEQ(a1, a2, a3, a4, a5) \
80 (BLPAPI_TABLE_CALL(blpapi_EventFormatter_appendRecapMessageSeq)( \
83#define BLPAPI_CALL_MESSAGE_ADDREF(a1) \
84 (BLPAPI_TABLE_CHECK(blpapi_Message_addRef) \
85 ? g_blpapiFunctionEntries.blpapi_Message_addRef(a1) \
88#define BLPAPI_CALL_MESSAGE_RELEASE(a1) \
89 (BLPAPI_TABLE_CHECK(blpapi_Message_release) \
90 ? g_blpapiFunctionEntries.blpapi_Message_release(a1) \
93#define BLPAPI_CALL_SESSIONOPTIONS_SETMAXEVENTQUEUESIZE(a1, a2) \
94 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_setMaxEventQueueSize) \
95 ? g_blpapiFunctionEntries \
96 .blpapi_SessionOptions_setMaxEventQueueSize( \
100#define BLPAPI_CALL_SESSIONOPTIONS_SETSLOWCONSUMERHIWATERMARK(a1, a2) \
101 (BLPAPI_TABLE_CHECK( \
102 blpapi_SessionOptions_setSlowConsumerWarningHiWaterMark) \
103 ? g_blpapiFunctionEntries \
104 .blpapi_SessionOptions_setSlowConsumerWarningHiWaterMark( \
108#define BLPAPI_CALL_SESSIONOPTIONS_SETSLOWCONSUMERLOWATERMARK(a1, a2) \
109 (BLPAPI_TABLE_CHECK( \
110 blpapi_SessionOptions_setSlowConsumerWarningLoWaterMark) \
111 ? g_blpapiFunctionEntries \
112 .blpapi_SessionOptions_setSlowConsumerWarningLoWaterMark( \
116#define BLPAPI_CALL_REQUEST_SETPREFERREDROUTE(a1, a2) \
118 if (BLPAPI_TABLE_CHECK(blpapi_Request_setPreferredRoute)) \
119 g_blpapiFunctionEntries.blpapi_Request_setPreferredRoute(a1, a2); \
122#define BLPAPI_CALL_MESSAGE_FRAGMENTTYPE(a1) \
123 (BLPAPI_TABLE_CHECK(blpapi_Message_fragmentType) \
124 ? g_blpapiFunctionEntries.blpapi_Message_fragmentType(a1) \
127#define BLPAPI_CALL_SESSIONOPTIONS_MAXEVENTQUEUESIZE(a1) \
128 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_maxEventQueueSize) \
129 ? g_blpapiFunctionEntries \
130 .blpapi_SessionOptions_maxEventQueueSize(a1) \
133#define BLPAPI_CALL_SESSIONOPTIONS_SLOWCONSUMERHIWATERMARK(a1) \
134 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_slowConsumerWarningHiWaterMark) \
135 ? g_blpapiFunctionEntries \
136 .blpapi_SessionOptions_slowConsumerWarningHiWaterMark( \
140#define BLPAPI_CALL_SESSIONOPTIONS_SLOWCONSUMERLOWATERMARK(a1) \
141 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_slowConsumerWarningLoWaterMark) \
142 ? g_blpapiFunctionEntries \
143 .blpapi_SessionOptions_slowConsumerWarningLoWaterMark( \
147#define BLPAPI_CALL_SESSIONOPTIONS_DEFAULTKEEPALIVEINACTIVITYTIME(h) \
148 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_defaultKeepAliveInactivityTime) \
149 ? g_blpapiFunctionEntries \
150 .blpapi_SessionOptions_defaultKeepAliveInactivityTime( \
154#define BLPAPI_CALL_SESSIONOPTIONS_DEFAULTKEEPALIVERESPONSETIMEOUT(h) \
155 (BLPAPI_TABLE_CHECK( \
156 blpapi_SessionOptions_defaultKeepAliveResponseTimeout) \
157 ? g_blpapiFunctionEntries \
158 .blpapi_SessionOptions_defaultKeepAliveResponseTimeout( \
162#define BLPAPI_CALL_SESSIONOPTIONS_KEEPALIVEENABLED(h) \
163 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_keepAliveEnabled) \
164 ? g_blpapiFunctionEntries \
165 .blpapi_SessionOptions_keepAliveEnabled(h) \
168#define BLPAPI_CALL_SESSIONOPTIONS_BANDWIDTHSAVEMODEDISABLED(a1) \
169 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_bandwidthSaveModeDisabled) \
170 ? g_blpapiFunctionEntries \
171 .blpapi_SessionOptions_bandwidthSaveModeDisabled( \
175#define BLPAPI_CALL_SESSIONOPTIONS_SETDEFAULTKEEPALIVEINACTIVITYTIME(h, t) \
176 (BLPAPI_TABLE_CHECK( \
177 blpapi_SessionOptions_setDefaultKeepAliveInactivityTime) \
178 ? g_blpapiFunctionEntries \
179 .blpapi_SessionOptions_setDefaultKeepAliveInactivityTime( \
183#define BLPAPI_CALL_SESSIONOPTIONS_SETDEFAULTKEEPALIVERESPONSETIMEOUT(h, t) \
184 (BLPAPI_TABLE_CHECK( \
185 blpapi_SessionOptions_setDefaultKeepAliveResponseTimeout) \
186 ? g_blpapiFunctionEntries \
187 .blpapi_SessionOptions_setDefaultKeepAliveResponseTimeout( \
191#define BLPAPI_CALL_SESSIONOPTIONS_SETKEEPALIVEENABLED(h, t) \
192 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_setKeepAliveEnabled) \
193 ? g_blpapiFunctionEntries \
194 .blpapi_SessionOptions_setKeepAliveEnabled( \
198#define BLPAPI_CALL_SESSIONOPTIONS_SETBANDWIDTHSAVEMODEDISABLED(a1, a2) \
199 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_setBandwidthSaveModeDisabled) \
200 ? g_blpapiFunctionEntries \
201 .blpapi_SessionOptions_setBandwidthSaveModeDisabled( \
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))
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))
220#define BLPAPI_CALL_ELEMENT_SETVALUEHIGHPRECISIONDATETIME(a1, a2, a3) \
221 (BLPAPI_TABLE_CHECK(blpapi_Element_setValueHighPrecisionDatetime) \
222 ? g_blpapiFunctionEntries \
223 .blpapi_Element_setValueHighPrecisionDatetime( \
225 : blpapi_Element_setValueDatetime( \
226 a1, &((a2)->datetime), a3))
228#define BLPAPI_CALL_ELEMENT_SETELEMENTHIGHPRECISIONDATETIME(a1, a2, a3, a4) \
229 (BLPAPI_TABLE_CHECK(blpapi_Element_setElementHighPrecisionDatetime) \
230 ? g_blpapiFunctionEntries \
231 .blpapi_Element_setElementHighPrecisionDatetime( \
233 : blpapi_Element_setElementDatetime( \
234 a1, a2, a3, &((a4)->datetime)))
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); \
242 buffer->rawHighPrecisionValue().picoseconds = 0; \
243 return blpapi_Element_getValueAsDatetime(a1, &(a2)->rawValue(), a3); \
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))
253#define BLPAPI_CALL_EVENTFORMATTER_SETVALUENULL(a1, a2, a3) \
254 (BLPAPI_TABLE_CALL(blpapi_EventFormatter_setValueNull)(a1, a2, a3))
256#define BLPAPI_CALL_DIAGNOSTICSUTIL_MEMORYINFO(a1, a2) \
257 if (BLPAPI_TABLE_CHECK(blpapi_DiagnosticsUtil_memoryInfo)) { \
258 return g_blpapiFunctionEntries.blpapi_DiagnosticsUtil_memoryInfo( \
264#define BLPAPI_CALL_SUBSCRIPTIONLIST_ADDRESOLVED(a1, a2, a3) \
265 (BLPAPI_TABLE_CHECK(blpapi_SubscriptionList_addResolved) \
266 ? g_blpapiFunctionEntries \
267 .blpapi_SubscriptionList_addResolved( \
269 : blpapi_SubscriptionList_add(a1, a2, a3, 0, 0, 0, 0))
271#define BLPAPI_CALL_SUBSCRIPTIONLIST_ISRESOLVEDAT(a1, a2, a3) \
272 (BLPAPI_TABLE_CHECK(blpapi_SubscriptionList_isResolvedAt) \
273 ? g_blpapiFunctionEntries \
274 .blpapi_SubscriptionList_isResolvedAt( \
278#define BLPAPI_CALL_PROVIDERSESSION_DEREGISTERSERVICE(a1, a2) \
279 (BLPAPI_TABLE_CALL(blpapi_ProviderSession_deregisterService)(a1, a2))
281#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_SETPARTSTOREGISTER(a1, a2) \
282 (BLPAPI_TABLE_CALL(blpapi_ServiceRegistrationOptions_setPartsToRegister)( \
285#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_GETPARTSTOREGISTER(a1) \
286 (BLPAPI_TABLE_CALL(blpapi_ServiceRegistrationOptions_getPartsToRegister)( \
289#define BLPAPI_CALL_PROVIDERSESSION_DELETETOPICS(a1, a2, a3) \
290 (BLPAPI_TABLE_CALL(blpapi_ProviderSession_deleteTopics)(a1, a2, a3))
292#define BLPAPI_CALL_PROVIDERSESSION_TERMINATESUBSCRIPTIONSONTOPICS( \
294 (BLPAPI_TABLE_CALL( \
295 blpapi_ProviderSession_terminateSubscriptionsOnTopics)( \
298#define BLPAPI_CALL_PROVIDERSESSION_ACTIVATESUBSERVICECODERANGE( \
299 a1, a2, a3, a4, a5) \
300 (BLPAPI_TABLE_CALL(blpapi_ProviderSession_activateSubServiceCodeRange)( \
303#define BLPAPI_CALL_PROVIDERSESSION_DEACTIVATESUBSERVICECODERANGE( \
305 (BLPAPI_TABLE_CALL(blpapi_ProviderSession_deactivateSubServiceCodeRange)( \
308#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_ADDACTIVATESUBSERVICECODERANGE( \
310 (BLPAPI_TABLE_CALL( \
311 blpapi_ServiceRegistrationOptions_addActiveSubServiceCodeRange)( \
314#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_REMOVEALLACTIVESUBSERVICECODERANGES( \
316 (BLPAPI_TABLE_CALL( \
317 blpapi_ServiceRegistrationOptions_removeAllActiveSubServiceCodeRanges)( \
320#define BLPAPI_CALL_MESSAGE_TIMERECEIVED(a1, a2) \
321 (BLPAPI_TABLE_CALL(blpapi_Message_timeReceived)(a1, a2))
323#define BLPAPI_CALL_SESSIONOPTION_SETRECORDSUBSCRIPTIONDATARECEIVETIMES( \
325 (BLPAPI_TABLE_CHECK( \
326 blpapi_SessionOptions_setRecordSubscriptionDataReceiveTimes) \
327 ? g_blpapiFunctionEntries \
328 .blpapi_SessionOptions_setRecordSubscriptionDataReceiveTimes( \
332#define BLPAPI_CALL_SESSIONOPTION_RECORDSUBSCRIPTIONDATARECEIVETIMES(a1) \
333 (BLPAPI_TABLE_CHECK( \
334 blpapi_SessionOptions_recordSubscriptionDataReceiveTimes) \
335 ? g_blpapiFunctionEntries \
336 .blpapi_SessionOptions_recordSubscriptionDataReceiveTimes( \
340#define BLPAPI_CALL_TIMEPOINTUTIL_NANOSECONDSBETWEEN(a1, a2) \
341 (BLPAPI_TABLE_CALL(blpapi_TimePointUtil_nanosecondsBetween)(a1, a2))
343#define BLPAPI_CALL_HIGHRESOLUTIONCLOCK_NOW(a1) \
344 (BLPAPI_TABLE_CALL(blpapi_HighResolutionClock_now)(a1))
346#define BLPAPI_CALL_HIGHPRECISIONDATETIME_FROMTIMEPOINT(a1, a2, a3) \
347 (BLPAPI_TABLE_CALL(blpapi_HighPrecisionDatetime_fromTimePoint)(a1, a2, a3))
351#define BLPAPI_CALL_AVAILABLE(FUNCNAME) true
352#define BLPAPI_CALL(FUNCNAME) FUNCNAME
353#define BLPAPI_CALL_UNCHECKED(FUNCNAME) FUNCNAME
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)
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)
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)
408#define BLPAPI_CALL_EVENTFORMATTER_SETVALUENULL(a1, a2, a3) \
409 (blpapi_EventFormatter_setValueNull)(a1, a2, a3)
411#define BLPAPI_CALL_DIAGNOSTICSUTIL_MEMORYINFO(a1, a2) \
412 return blpapi_DiagnosticsUtil_memoryInfo(a1, a2);
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)
419#define BLPAPI_CALL_PROVIDERSESSION_DEREGISTERSERVICE(a1, a2) \
420 (blpapi_ProviderSession_deregisterService(a1, a2))
422#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_SETPARTSTOREGISTER(a1, a2) \
423 (blpapi_ServiceRegistrationOptions_setPartsToRegister(a1, a2))
425#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_GETPARTSTOREGISTER(a1) \
426 (blpapi_ServiceRegistrationOptions_getPartsToRegister(a1))
428#define BLPAPI_CALL_PROVIDERSESSION_DELETETOPICS(a1, a2, a3) \
429 (blpapi_ProviderSession_deleteTopics(a1, a2, a3))
431#define BLPAPI_CALL_PROVIDERSESSION_TERMINATESUBSCRIPTIONSONTOPICS( \
433 (blpapi_ProviderSession_terminateSubscriptionsOnTopics(a1, a2, a3, a4))
435#define BLPAPI_CALL_PROVIDERSESSION_ACTIVATESUBSERVICECODERANGE( \
436 a1, a2, a3, a4, a5) \
437 (blpapi_ProviderSession_activateSubServiceCodeRange)(a1, a2, a3, a4, a5)
439#define BLPAPI_CALL_PROVIDERSESSION_DEACTIVATESUBSERVICECODERANGE( \
441 (blpapi_ProviderSession_deactivateSubServiceCodeRange)(a1, a2, a3, a4)
443#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_ADDACTIVATESUBSERVICECODERANGE( \
445 (blpapi_ServiceRegistrationOptions_addActiveSubServiceCodeRange)( \
448#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_REMOVEALLACTIVESUBSERVICECODERANGES( \
450 (blpapi_ServiceRegistrationOptions_removeAllActiveSubServiceCodeRanges)(a1)
452#define BLPAPI_CALL_MESSAGE_TIMERECEIVED(a1, a2) \
453 (blpapi_Message_timeReceived)(a1, a2)
454#define BLPAPI_CALL_SESSIONOPTION_SETRECORDSUBSCRIPTIONDATARECEIVETIMES( \
456 (blpapi_SessionOptions_setRecordSubscriptionDataReceiveTimes)(a1, a2)
457#define BLPAPI_CALL_SESSIONOPTION_RECORDSUBSCRIPTIONDATARECEIVETIMES(a1) \
458 (blpapi_SessionOptions_recordSubscriptionDataReceiveTimes)(a1)
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)
Work with dispatch table.
Defines Exceptions that can be thrown by the blpapi library.