36#ifndef INCLUDED_BLPAPI_CALL
37#define INCLUDED_BLPAPI_CALL
59#if defined(_WIN32) || defined(__WIN32__) || defined(BLPAPI_FORCE_DISPATCHTBL)
66#define BLPAPI_TABLE_CHECK(FUNCNAME) \
67 ((g_blpapiFunctionTableSize \
68 && offsetof(blpapi_FunctionEntries_t, FUNCNAME) \
69 < g_blpapiFunctionTableSize - 1) \
73#define BLPAPI_TABLE_CALL(FUNCNAME) \
74 (BLPAPI_TABLE_CHECK(FUNCNAME) ? BLPAPI_CALL_UNCHECKED(FUNCNAME) \
75 : BLPAPI_UNSUPPORTED_CALL(FUNCNAME))
77#define BLPAPI_CALL_AVAILABLE(FUNCNAME) BLPAPI_TABLE_CHECK(FUNCNAME)
78#define BLPAPI_CALL(FUNCNAME) BLPAPI_TABLE_CALL(FUNCNAME)
79#define BLPAPI_CALL_UNCHECKED(FUNCNAME) g_blpapiFunctionEntries.FUNCNAME
81#define BLPAPI_UNSUPPORTED_CALL(FUNCNAME) \
82 (throw UnsupportedOperationException(#FUNCNAME " not supported"))
84#define BLPAPI_CALL_EVENTFORMATTER_APPENDMESSAGESEQ(a1, a2, a3, a4, a5, a6) \
85 (BLPAPI_TABLE_CALL(blpapi_EventFormatter_appendMessageSeq)( \
86 a1, a2, a3, a4, a5, a6))
88#define BLPAPI_CALL_EVENTFORMATTER_APPENDRECAPMESSAGESEQ(a1, a2, a3, a4, a5) \
89 (BLPAPI_TABLE_CALL(blpapi_EventFormatter_appendRecapMessageSeq)( \
92#define BLPAPI_CALL_MESSAGE_ADDREF(a1) \
93 (BLPAPI_TABLE_CHECK(blpapi_Message_addRef) \
94 ? g_blpapiFunctionEntries.blpapi_Message_addRef(a1) \
97#define BLPAPI_CALL_MESSAGE_RELEASE(a1) \
98 (BLPAPI_TABLE_CHECK(blpapi_Message_release) \
99 ? g_blpapiFunctionEntries.blpapi_Message_release(a1) \
102#define BLPAPI_CALL_SESSIONOPTIONS_SETMAXEVENTQUEUESIZE(a1, a2) \
103 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_setMaxEventQueueSize) \
104 ? g_blpapiFunctionEntries \
105 .blpapi_SessionOptions_setMaxEventQueueSize( \
109#define BLPAPI_CALL_SESSIONOPTIONS_SETSLOWCONSUMERHIWATERMARK(a1, a2) \
110 (BLPAPI_TABLE_CHECK( \
111 blpapi_SessionOptions_setSlowConsumerWarningHiWaterMark) \
112 ? g_blpapiFunctionEntries \
113 .blpapi_SessionOptions_setSlowConsumerWarningHiWaterMark( \
117#define BLPAPI_CALL_SESSIONOPTIONS_SETSLOWCONSUMERLOWATERMARK(a1, a2) \
118 (BLPAPI_TABLE_CHECK( \
119 blpapi_SessionOptions_setSlowConsumerWarningLoWaterMark) \
120 ? g_blpapiFunctionEntries \
121 .blpapi_SessionOptions_setSlowConsumerWarningLoWaterMark( \
125#define BLPAPI_CALL_REQUEST_SETPREFERREDROUTE(a1, a2) \
127 if (BLPAPI_TABLE_CHECK(blpapi_Request_setPreferredRoute)) \
128 g_blpapiFunctionEntries.blpapi_Request_setPreferredRoute(a1, a2); \
131#define BLPAPI_CALL_MESSAGE_FRAGMENTTYPE(a1) \
132 (BLPAPI_TABLE_CHECK(blpapi_Message_fragmentType) \
133 ? g_blpapiFunctionEntries.blpapi_Message_fragmentType(a1) \
136#define BLPAPI_CALL_SESSIONOPTIONS_MAXEVENTQUEUESIZE(a1) \
137 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_maxEventQueueSize) \
138 ? g_blpapiFunctionEntries \
139 .blpapi_SessionOptions_maxEventQueueSize(a1) \
142#define BLPAPI_CALL_SESSIONOPTIONS_SLOWCONSUMERHIWATERMARK(a1) \
143 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_slowConsumerWarningHiWaterMark) \
144 ? g_blpapiFunctionEntries \
145 .blpapi_SessionOptions_slowConsumerWarningHiWaterMark( \
149#define BLPAPI_CALL_SESSIONOPTIONS_SLOWCONSUMERLOWATERMARK(a1) \
150 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_slowConsumerWarningLoWaterMark) \
151 ? g_blpapiFunctionEntries \
152 .blpapi_SessionOptions_slowConsumerWarningLoWaterMark( \
156#define BLPAPI_CALL_SESSIONOPTIONS_DEFAULTKEEPALIVEINACTIVITYTIME(h) \
157 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_defaultKeepAliveInactivityTime) \
158 ? g_blpapiFunctionEntries \
159 .blpapi_SessionOptions_defaultKeepAliveInactivityTime( \
163#define BLPAPI_CALL_SESSIONOPTIONS_DEFAULTKEEPALIVERESPONSETIMEOUT(h) \
164 (BLPAPI_TABLE_CHECK( \
165 blpapi_SessionOptions_defaultKeepAliveResponseTimeout) \
166 ? g_blpapiFunctionEntries \
167 .blpapi_SessionOptions_defaultKeepAliveResponseTimeout( \
171#define BLPAPI_CALL_SESSIONOPTIONS_KEEPALIVEENABLED(h) \
172 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_keepAliveEnabled) \
173 ? g_blpapiFunctionEntries \
174 .blpapi_SessionOptions_keepAliveEnabled(h) \
177#define BLPAPI_CALL_SESSIONOPTIONS_BANDWIDTHSAVEMODEDISABLED(a1) \
178 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_bandwidthSaveModeDisabled) \
179 ? g_blpapiFunctionEntries \
180 .blpapi_SessionOptions_bandwidthSaveModeDisabled( \
184#define BLPAPI_CALL_SESSIONOPTIONS_SETDEFAULTKEEPALIVEINACTIVITYTIME(h, t) \
185 (BLPAPI_TABLE_CHECK( \
186 blpapi_SessionOptions_setDefaultKeepAliveInactivityTime) \
187 ? g_blpapiFunctionEntries \
188 .blpapi_SessionOptions_setDefaultKeepAliveInactivityTime( \
192#define BLPAPI_CALL_SESSIONOPTIONS_SETDEFAULTKEEPALIVERESPONSETIMEOUT(h, t) \
193 (BLPAPI_TABLE_CHECK( \
194 blpapi_SessionOptions_setDefaultKeepAliveResponseTimeout) \
195 ? g_blpapiFunctionEntries \
196 .blpapi_SessionOptions_setDefaultKeepAliveResponseTimeout( \
200#define BLPAPI_CALL_SESSIONOPTIONS_SETKEEPALIVEENABLED(h, t) \
201 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_setKeepAliveEnabled) \
202 ? g_blpapiFunctionEntries \
203 .blpapi_SessionOptions_setKeepAliveEnabled( \
207#define BLPAPI_CALL_SESSIONOPTIONS_SETBANDWIDTHSAVEMODEDISABLED(a1, a2) \
208 (BLPAPI_TABLE_CHECK(blpapi_SessionOptions_setBandwidthSaveModeDisabled) \
209 ? g_blpapiFunctionEntries \
210 .blpapi_SessionOptions_setBandwidthSaveModeDisabled( \
214#define BLPAPI_CALL_HIGHPRECISIONDATETIME_COMPARE(a1, a2) \
215 (BLPAPI_TABLE_CHECK(blpapi_HighPrecisionDatetime_compare) \
216 ? g_blpapiFunctionEntries \
217 .blpapi_HighPrecisionDatetime_compare(a1, a2) \
218 : blpapi_Datetime_compare( \
219 (a1)->datetime, (a2)->datetime))
221#define BLPAPI_CALL_HIGHPRECISIONDATETIME_PRINT(a1, a2, a3, a4, a5) \
222 (BLPAPI_TABLE_CHECK(blpapi_HighPrecisionDatetime_print) \
223 ? g_blpapiFunctionEntries \
224 .blpapi_HighPrecisionDatetime_print( \
225 a1, a2, a3, a4, a5) \
226 : blpapi_Datetime_print( \
227 &((a1)->datetime), a2, a3, a4, a5))
229#define BLPAPI_CALL_ELEMENT_SETVALUEHIGHPRECISIONDATETIME(a1, a2, a3) \
230 (BLPAPI_TABLE_CHECK(blpapi_Element_setValueHighPrecisionDatetime) \
231 ? g_blpapiFunctionEntries \
232 .blpapi_Element_setValueHighPrecisionDatetime( \
234 : blpapi_Element_setValueDatetime( \
235 a1, &((a2)->datetime), a3))
237#define BLPAPI_CALL_ELEMENT_SETELEMENTHIGHPRECISIONDATETIME(a1, a2, a3, a4) \
238 (BLPAPI_TABLE_CHECK(blpapi_Element_setElementHighPrecisionDatetime) \
239 ? g_blpapiFunctionEntries \
240 .blpapi_Element_setElementHighPrecisionDatetime( \
242 : blpapi_Element_setElementDatetime( \
243 a1, a2, a3, &((a4)->datetime)))
245#define BLPAPI_CALL_ELEMENT_GETVALUEASHIGHPRECISIONDATETIME(a1, a2, a3) \
246 if (BLPAPI_TABLE_CHECK(blpapi_Element_getValueAsHighPrecisionDatetime)) { \
247 return g_blpapiFunctionEntries \
248 .blpapi_Element_getValueAsHighPrecisionDatetime( \
249 a1, &(a2)->rawHighPrecisionValue(), a3); \
251 buffer->rawHighPrecisionValue().picoseconds = 0; \
252 return blpapi_Element_getValueAsDatetime(a1, &(a2)->rawValue(), a3); \
255#define BLPAPI_CALL_SESSION_RESUBSCRIBEWITHID(a1, a2, a3, a4, a5) \
256 (BLPAPI_TABLE_CHECK(blpapi_Session_resubscribeWithId) \
257 ? g_blpapiFunctionEntries \
258 .blpapi_Session_resubscribeWithId( \
259 a1, a2, a3, a4, a5) \
260 : blpapi_Session_resubscribe(a1, a2, a4, a5))
262#define BLPAPI_CALL_EVENTFORMATTER_SETVALUENULL(a1, a2, a3) \
263 (BLPAPI_TABLE_CALL(blpapi_EventFormatter_setValueNull)(a1, a2, a3))
265#define BLPAPI_CALL_DIAGNOSTICSUTIL_MEMORYINFO(a1, a2) \
266 if (BLPAPI_TABLE_CHECK(blpapi_DiagnosticsUtil_memoryInfo)) { \
267 return g_blpapiFunctionEntries.blpapi_DiagnosticsUtil_memoryInfo( \
273#define BLPAPI_CALL_SUBSCRIPTIONLIST_ADDRESOLVED(a1, a2, a3) \
274 (BLPAPI_TABLE_CHECK(blpapi_SubscriptionList_addResolved) \
275 ? g_blpapiFunctionEntries \
276 .blpapi_SubscriptionList_addResolved( \
278 : blpapi_SubscriptionList_add(a1, a2, a3, 0, 0, 0, 0))
280#define BLPAPI_CALL_SUBSCRIPTIONLIST_ISRESOLVEDAT(a1, a2, a3) \
281 (BLPAPI_TABLE_CHECK(blpapi_SubscriptionList_isResolvedAt) \
282 ? g_blpapiFunctionEntries \
283 .blpapi_SubscriptionList_isResolvedAt( \
287#define BLPAPI_CALL_PROVIDERSESSION_DEREGISTERSERVICE(a1, a2) \
288 (BLPAPI_TABLE_CALL(blpapi_ProviderSession_deregisterService)(a1, a2))
290#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_SETPARTSTOREGISTER(a1, a2) \
291 (BLPAPI_TABLE_CALL(blpapi_ServiceRegistrationOptions_setPartsToRegister)( \
294#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_GETPARTSTOREGISTER(a1) \
295 (BLPAPI_TABLE_CALL(blpapi_ServiceRegistrationOptions_getPartsToRegister)( \
298#define BLPAPI_CALL_PROVIDERSESSION_DELETETOPICS(a1, a2, a3) \
299 (BLPAPI_TABLE_CALL(blpapi_ProviderSession_deleteTopics)(a1, a2, a3))
301#define BLPAPI_CALL_PROVIDERSESSION_TERMINATESUBSCRIPTIONSONTOPICS( \
303 (BLPAPI_TABLE_CALL( \
304 blpapi_ProviderSession_terminateSubscriptionsOnTopics)( \
307#define BLPAPI_CALL_PROVIDERSESSION_ACTIVATESUBSERVICECODERANGE( \
308 a1, a2, a3, a4, a5) \
309 (BLPAPI_TABLE_CALL(blpapi_ProviderSession_activateSubServiceCodeRange)( \
312#define BLPAPI_CALL_PROVIDERSESSION_DEACTIVATESUBSERVICECODERANGE( \
314 (BLPAPI_TABLE_CALL(blpapi_ProviderSession_deactivateSubServiceCodeRange)( \
317#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_ADDACTIVATESUBSERVICECODERANGE( \
319 (BLPAPI_TABLE_CALL( \
320 blpapi_ServiceRegistrationOptions_addActiveSubServiceCodeRange)( \
323#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_REMOVEALLACTIVESUBSERVICECODERANGES( \
325 (BLPAPI_TABLE_CALL( \
326 blpapi_ServiceRegistrationOptions_removeAllActiveSubServiceCodeRanges)( \
329#define BLPAPI_CALL_MESSAGE_TIMERECEIVED(a1, a2) \
330 (BLPAPI_TABLE_CALL(blpapi_Message_timeReceived)(a1, a2))
332#define BLPAPI_CALL_SESSIONOPTION_SETRECORDSUBSCRIPTIONDATARECEIVETIMES( \
334 (BLPAPI_TABLE_CHECK( \
335 blpapi_SessionOptions_setRecordSubscriptionDataReceiveTimes) \
336 ? g_blpapiFunctionEntries \
337 .blpapi_SessionOptions_setRecordSubscriptionDataReceiveTimes( \
341#define BLPAPI_CALL_SESSIONOPTION_RECORDSUBSCRIPTIONDATARECEIVETIMES(a1) \
342 (BLPAPI_TABLE_CHECK( \
343 blpapi_SessionOptions_recordSubscriptionDataReceiveTimes) \
344 ? g_blpapiFunctionEntries \
345 .blpapi_SessionOptions_recordSubscriptionDataReceiveTimes( \
349#define BLPAPI_CALL_TIMEPOINTUTIL_NANOSECONDSBETWEEN(a1, a2) \
350 (BLPAPI_TABLE_CALL(blpapi_TimePointUtil_nanosecondsBetween)(a1, a2))
352#define BLPAPI_CALL_HIGHRESOLUTIONCLOCK_NOW(a1) \
353 (BLPAPI_TABLE_CALL(blpapi_HighResolutionClock_now)(a1))
355#define BLPAPI_CALL_HIGHPRECISIONDATETIME_FROMTIMEPOINT(a1, a2, a3) \
356 (BLPAPI_TABLE_CALL(blpapi_HighPrecisionDatetime_fromTimePoint)(a1, a2, a3))
360#define BLPAPI_CALL_AVAILABLE(FUNCNAME) true
361#define BLPAPI_CALL(FUNCNAME) FUNCNAME
362#define BLPAPI_CALL_UNCHECKED(FUNCNAME) FUNCNAME
364#define BLPAPI_CALL_EVENTFORMATTER_APPENDMESSAGESEQ(a1, a2, a3, a4, a5, a6) \
365 (blpapi_EventFormatter_appendMessageSeq)(a1, a2, a3, a4, a5, a6)
366#define BLPAPI_CALL_EVENTFORMATTER_APPENDRECAPMESSAGESEQ(a1, a2, a3, a4, a5) \
367 (blpapi_EventFormatter_appendRecapMessageSeq)(a1, a2, a3, a4, a5)
368#define BLPAPI_CALL_MESSAGE_ADDREF(a1) (blpapi_Message_addRef)(a1)
369#define BLPAPI_CALL_MESSAGE_RELEASE(a1) (blpapi_Message_release)(a1)
370#define BLPAPI_CALL_SESSIONOPTIONS_SETMAXEVENTQUEUESIZE(a1, a2) \
371 (blpapi_SessionOptions_setMaxEventQueueSize)(a1, a2)
372#define BLPAPI_CALL_SESSIONOPTIONS_SETSLOWCONSUMERHIWATERMARK(a1, a2) \
373 (blpapi_SessionOptions_setSlowConsumerWarningHiWaterMark)(a1, a2)
374#define BLPAPI_CALL_SESSIONOPTIONS_SETSLOWCONSUMERLOWATERMARK(a1, a2) \
375 (blpapi_SessionOptions_setSlowConsumerWarningLoWaterMark)(a1, a2)
376#define BLPAPI_CALL_REQUEST_SETPREFERREDROUTE(a1, a2) \
377 (blpapi_Request_setPreferredRoute)(a1, a2)
378#define BLPAPI_CALL_MESSAGE_FRAGMENTTYPE(a1) (blpapi_Message_fragmentType)(a1)
379#define BLPAPI_CALL_SESSIONOPTIONS_MAXEVENTQUEUESIZE(a1) \
380 (blpapi_SessionOptions_maxEventQueueSize)(a1)
381#define BLPAPI_CALL_SESSIONOPTIONS_SLOWCONSUMERHIWATERMARK(a1) \
382 (blpapi_SessionOptions_slowConsumerWarningHiWaterMark)(a1)
383#define BLPAPI_CALL_SESSIONOPTIONS_SLOWCONSUMERLOWATERMARK(a1) \
384 (blpapi_SessionOptions_slowConsumerWarningLoWaterMark)(a1)
386#define BLPAPI_CALL_SESSIONOPTIONS_DEFAULTKEEPALIVEINACTIVITYTIME(a1) \
387 (blpapi_SessionOptions_defaultKeepAliveInactivityTime)(a1)
388#define BLPAPI_CALL_SESSIONOPTIONS_DEFAULTKEEPALIVERESPONSETIMEOUT(a1) \
389 (blpapi_SessionOptions_defaultKeepAliveResponseTimeout)(a1)
390#define BLPAPI_CALL_SESSIONOPTIONS_KEEPALIVEENABLED(a1) \
391 (blpapi_SessionOptions_keepAliveEnabled)(a1)
392#define BLPAPI_CALL_SESSIONOPTIONS_SETDEFAULTKEEPALIVEINACTIVITYTIME(a1, a2) \
393 (blpapi_SessionOptions_setDefaultKeepAliveInactivityTime)(a1, a2)
394#define BLPAPI_CALL_SESSIONOPTIONS_SETDEFAULTKEEPALIVERESPONSETIMEOUT(a1, a2) \
395 (blpapi_SessionOptions_setDefaultKeepAliveResponseTimeout)(a1, a2)
396#define BLPAPI_CALL_SESSIONOPTIONS_SETKEEPALIVEENABLED(a1, a2) \
397 (blpapi_SessionOptions_setKeepAliveEnabled)(a1, a2)
398#define BLPAPI_CALL_SESSIONOPTIONS_SETBANDWIDTHSAVEMODEDISABLED(a1, a2) \
399 (blpapi_SessionOptions_setBandwidthSaveModeDisabled)(a1, a2)
400#define BLPAPI_CALL_SESSIONOPTIONS_BANDWIDTHSAVEMODEDISABLED(a1) \
401 (blpapi_SessionOptions_bandwidthSaveModeDisabled)(a1)
403#define BLPAPI_CALL_HIGHPRECISIONDATETIME_COMPARE(a1, a2) \
404 (blpapi_HighPrecisionDatetime_compare)(a1, a2)
405#define BLPAPI_CALL_HIGHPRECISIONDATETIME_PRINT(a1, a2, a3, a4, a5) \
406 (blpapi_HighPrecisionDatetime_print)(a1, a2, a3, a4, a5)
407#define BLPAPI_CALL_ELEMENT_SETVALUEHIGHPRECISIONDATETIME(a1, a2, a3) \
408 (blpapi_Element_setValueHighPrecisionDatetime(a1, a2, a3))
409#define BLPAPI_CALL_ELEMENT_SETELEMENTHIGHPRECISIONDATETIME(a1, a2, a3, a4) \
410 (blpapi_Element_setElementHighPrecisionDatetime(a1, a2, a3, a4))
411#define BLPAPI_CALL_ELEMENT_GETVALUEASHIGHPRECISIONDATETIME(a1, a2, a3) \
412 return blpapi_Element_getValueAsHighPrecisionDatetime( \
413 a1, &a2->rawHighPrecisionValue(), a3);
414#define BLPAPI_CALL_SESSION_RESUBSCRIBEWITHID(a1, a2, a3, a4, a5) \
415 (blpapi_Session_resubscribeWithId)(a1, a2, a3, a4, a5)
417#define BLPAPI_CALL_EVENTFORMATTER_SETVALUENULL(a1, a2, a3) \
418 (blpapi_EventFormatter_setValueNull)(a1, a2, a3)
420#define BLPAPI_CALL_DIAGNOSTICSUTIL_MEMORYINFO(a1, a2) \
421 return blpapi_DiagnosticsUtil_memoryInfo(a1, a2);
423#define BLPAPI_CALL_SUBSCRIPTIONLIST_ADDRESOLVED(a1, a2, a3) \
424 (blpapi_SubscriptionList_addResolved)(a1, a2, a3)
425#define BLPAPI_CALL_SUBSCRIPTIONLIST_ISRESOLVEDAT(a1, a2, a3) \
426 (blpapi_SubscriptionList_isResolvedAt)(a1, a2, a3)
428#define BLPAPI_CALL_PROVIDERSESSION_DEREGISTERSERVICE(a1, a2) \
429 (blpapi_ProviderSession_deregisterService(a1, a2))
431#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_SETPARTSTOREGISTER(a1, a2) \
432 (blpapi_ServiceRegistrationOptions_setPartsToRegister(a1, a2))
434#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_GETPARTSTOREGISTER(a1) \
435 (blpapi_ServiceRegistrationOptions_getPartsToRegister(a1))
437#define BLPAPI_CALL_PROVIDERSESSION_DELETETOPICS(a1, a2, a3) \
438 (blpapi_ProviderSession_deleteTopics(a1, a2, a3))
440#define BLPAPI_CALL_PROVIDERSESSION_TERMINATESUBSCRIPTIONSONTOPICS( \
442 (blpapi_ProviderSession_terminateSubscriptionsOnTopics(a1, a2, a3, a4))
444#define BLPAPI_CALL_PROVIDERSESSION_ACTIVATESUBSERVICECODERANGE( \
445 a1, a2, a3, a4, a5) \
446 (blpapi_ProviderSession_activateSubServiceCodeRange)(a1, a2, a3, a4, a5)
448#define BLPAPI_CALL_PROVIDERSESSION_DEACTIVATESUBSERVICECODERANGE( \
450 (blpapi_ProviderSession_deactivateSubServiceCodeRange)(a1, a2, a3, a4)
452#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_ADDACTIVATESUBSERVICECODERANGE( \
454 (blpapi_ServiceRegistrationOptions_addActiveSubServiceCodeRange)( \
457#define BLPAPI_CALL_SERVICEREGISTRATIONOPTIONS_REMOVEALLACTIVESUBSERVICECODERANGES( \
459 (blpapi_ServiceRegistrationOptions_removeAllActiveSubServiceCodeRanges)(a1)
461#define BLPAPI_CALL_MESSAGE_TIMERECEIVED(a1, a2) \
462 (blpapi_Message_timeReceived)(a1, a2)
463#define BLPAPI_CALL_SESSIONOPTION_SETRECORDSUBSCRIPTIONDATARECEIVETIMES( \
465 (blpapi_SessionOptions_setRecordSubscriptionDataReceiveTimes)(a1, a2)
466#define BLPAPI_CALL_SESSIONOPTION_RECORDSUBSCRIPTIONDATARECEIVETIMES(a1) \
467 (blpapi_SessionOptions_recordSubscriptionDataReceiveTimes)(a1)
469#define BLPAPI_CALL_TIMEPOINTUTIL_NANOSECONDSBETWEEN(a1, a2) \
470 (blpapi_TimePointUtil_nanosecondsBetween)(a1, a2)
471#define BLPAPI_CALL_HIGHRESOLUTIONCLOCK_NOW(a1) \
472 (blpapi_HighResolutionClock_now)(a1)
473#define BLPAPI_CALL_HIGHPRECISIONDATETIME_FROMTIMEPOINT(a1, a2, a3) \
474 (blpapi_HighPrecisionDatetime_fromTimePoint)(a1, a2, a3)
Work with dispatch table.
Defines Exceptions that can be thrown by the blpapi library.