38#ifndef INCLUDED_BLPAPI_ABSTRACTSESSION
39#define INCLUDED_BLPAPI_ABSTRACTSESSION
85#include <blpapi_deprecate.h>
116void blpapi_UserHandle_release(blpapi_UserHandle_t *handle);
130int blpapi_UserHandle_addRef(blpapi_UserHandle_t *handle);
157int blpapi_UserHandle_hasEntitlements(
const blpapi_UserHandle_t *handle,
158 const blpapi_Service_t *service,
159 const blpapi_Element_t *eidElement,
160 const int *entitlementIds,
161 size_t numEntitlements,
162 int *failedEntitlements,
163 int *failedEntitlementsCount);
184int blpapi_AbstractSession_cancel(blpapi_AbstractSession_t *session,
185 const blpapi_CorrelationId_t *correlationIds,
186 size_t numCorrelationIds,
187 const char *requestLabel,
188 int requestLabelLen);
213int blpapi_AbstractSession_sendAuthorizationRequest(
214 blpapi_AbstractSession_t *session,
215 const blpapi_Request_t *request,
216 blpapi_Identity_t *identity,
217 blpapi_CorrelationId_t *correlationId,
218 blpapi_EventQueue_t *eventQueue,
219 const char *requestLabel,
220 int requestLabelLen);
236int blpapi_AbstractSession_openService(
237 blpapi_AbstractSession_t *session,
const char *serviceIdentifier);
254int blpapi_AbstractSession_openServiceAsync(blpapi_AbstractSession_t *session,
255 const char *serviceIdentifier,
256 blpapi_CorrelationId_t *correlationId);
273int blpapi_AbstractSession_generateToken(blpapi_AbstractSession_t *session,
274 blpapi_CorrelationId_t *correlationId,
275 blpapi_EventQueue_t *eventQueue);
297int blpapi_AbstractSession_generateManualToken(
298 blpapi_AbstractSession_t *session,
299 blpapi_CorrelationId_t *correlationId,
301 const char *manualIp,
302 blpapi_EventQueue_t *eventQueue);
319int blpapi_AbstractSession_getService(blpapi_AbstractSession_t *session,
320 blpapi_Service_t **service,
321 const char *serviceIdentifier);
339blpapi_Identity_t *blpapi_AbstractSession_createIdentity(
340 blpapi_AbstractSession_t *session);
361int blpapi_AbstractSession_generateAuthorizedIdentityAsync(
362 blpapi_AbstractSession_t *session,
363 const blpapi_AuthOptions_t *authOptions,
364 blpapi_CorrelationId_t *cid);
387int blpapi_AbstractSession_getAuthorizedIdentity(
388 blpapi_AbstractSession_t *session,
389 const blpapi_CorrelationId_t *cid,
390 blpapi_Identity_t **identity);
408int blpapi_AbstractSession_sessionName(blpapi_AbstractSession_t *session,
409 const char **sessionName,
423int blpapi_UserAgentInfo_setUserTaskName(
const char *userTaskName);
439int blpapi_UserAgentInfo_setNativeSdkLanguageAndVersion(
440 const char *language,
const char *version);
523class AbstractSession {
525 blpapi_AbstractSession_t *d_handle_p;
529 AbstractSession(
const AbstractSession&);
530 AbstractSession& operator=(
const AbstractSession&);
539 void initAbstractSessionHandle(blpapi_AbstractSession_t *handle);
624 virtual bool openService(
const char *serviceIdentifier);
661 const Request& authorizationRequest,
711 virtual void cancel(
const std::vector<CorrelationId>& correlationIds);
733 const CorrelationId *correlationIds,
size_t numCorrelationIds);
770 const char *ipAddress,
841 blpapi_AbstractSession_t *abstractSessionHandle()
const;
848 BLPAPI_DEPRECATE_ABSTRACT_SESSION_CREATE_USER_HANDLE
UserHandle
869inline AbstractSession::AbstractSession()
873 BLPAPI_CALL(blpapi_UserAgentInfo_setNativeSdkLanguageAndVersion)
880inline void AbstractSession::initAbstractSessionHandle(
881 blpapi_AbstractSession_t *handle)
889 blpapi_Service_t *service;
891 d_handle_p, &service, serviceIdentifier));
896 const Request& authorizationRequest,
906 blpapi_AbstractSession_sendAuthorizationRequest(d_handle_p,
907 authorizationRequest.handle(),
909 const_cast<blpapi_CorrelationId_t *
>(
910 &retCorrelationId.impl()),
911 eventQueue ? eventQueue->handle() : 0,
915 return retCorrelationId;
920 blpapi_AbstractSession_cancel(d_handle_p, &correlationId.impl(), 1, 0, 0);
924 const std::vector<CorrelationId>& correlationIds)
926 if (!correlationIds.size()) {
929 cancel(&correlationIds[0], correlationIds.size());
933 const CorrelationId *correlationIds,
size_t numCorrelationIds)
935 blpapi_AbstractSession_cancel(d_handle_p,
936 reinterpret_cast<const blpapi_CorrelationId_t *
>(correlationIds),
948 blpapi_AbstractSession_generateToken(d_handle_p,
949 &retCorrelationId.impl(),
950 eventQueue ? eventQueue->handle() : 0));
952 return retCorrelationId;
956 const char *ipAddress,
963 BLPAPI_CALL(blpapi_AbstractSession_generateManualToken)(d_handle_p,
964 &retCorrelationId.impl(),
967 eventQueue ? eventQueue->handle() : 0));
969 return retCorrelationId;
974 return blpapi_AbstractSession_openService(d_handle_p, serviceIdentifier)
980 const char *serviceIdentifier,
const CorrelationId& correlationId)
982 blpapi_CorrelationId_t retv = correlationId.impl();
984 d_handle_p, serviceIdentifier, &retv));
991 return UserHandle(blpapi_AbstractSession_createIdentity(d_handle_p));
996 return Identity(blpapi_AbstractSession_createIdentity(d_handle_p));
1002 blpapi_CorrelationId_t cidHandle = cid.impl();
1005 blpapi_AbstractSession_generateAuthorizedIdentityAsync)(
1006 d_handle_p, authOptions.handle(), &cidHandle));
1014 blpapi_Identity_t *identity = NULL;
1017 BLPAPI_CALL(blpapi_AbstractSession_getAuthorizedIdentity)(
1018 d_handle_p, &correlationId.impl(), &identity));
1029 BLPAPI_CALL(blpapi_AbstractSession_sessionName)(
1035inline blpapi_AbstractSession_t *AbstractSession::abstractSessionHandle()
const
Provides configuration settings for authorization.
Provide functions for dispatchtbl.
Provide a key to identify individual subscriptions or requests.
Common definitions used by the library.
A component which defines events related operations.
Provide a dispatcher to dispatch events.
Defines Exceptions that can be thrown by the blpapi library.
Provide access to the entitlements for a user.
Defines a request which can be sent for a service.
A service which provides access to API data (provide or consume).
Provide preprocessor macros for BLPAPI library version information.
virtual bool startAsync()=0
virtual bool openService(const char *serviceIdentifier)
Definition blpapi_abstractsession.h:972
virtual CorrelationId generateToken(const CorrelationId &correlationId=CorrelationId(), EventQueue *eventQueue=0)
Definition blpapi_abstractsession.h:942
std::string sessionName()
Definition blpapi_abstractsession.h:1023
virtual Event nextEvent(int timeout=0)=0
UserHandle createUserHandle()
Definition blpapi_abstractsession.h:989
virtual int tryNextEvent(Event *event)=0
virtual CorrelationId sendAuthorizationRequest(const Request &authorizationRequest, Identity *identity, const CorrelationId &correlationId=CorrelationId(), EventQueue *eventQueue=0)
Definition blpapi_abstractsession.h:895
virtual void stopAsync()=0
Identity getAuthorizedIdentity(const CorrelationId &correlationId=CorrelationId())
Definition blpapi_abstractsession.h:1011
virtual CorrelationId openServiceAsync(const char *serviceIdentifier, const CorrelationId &correlationId=CorrelationId())
Definition blpapi_abstractsession.h:979
CorrelationId generateAuthorizedIdentity(const AuthOptions &authOptions, const CorrelationId &cid=CorrelationId())
Definition blpapi_abstractsession.h:999
virtual Identity createIdentity()
Definition blpapi_abstractsession.h:994
virtual void cancel(const CorrelationId &correlationId)
Definition blpapi_abstractsession.h:918
virtual ~AbstractSession()
Definition blpapi_abstractsession.h:877
virtual Service getService(const char *serviceIdentifier) const
Definition blpapi_abstractsession.h:887
Definition blpapi_authoptions.h:485
Definition blpapi_correlationid.h:306
Definition blpapi_event.h:517
Definition blpapi_event.h:325
static void throwOnError(int errorCode)
Definition blpapi_exception.h:556
Definition blpapi_identity.h:217
Definition blpapi_request.h:214
Definition blpapi_service.h:619
Identity UserHandle
Definition blpapi_abstractsession.h:460
#define BLPAPI_SDK_VERSION_STRING
C-string encoding the version of the BLPAPI headers used at compile time in "MAJOR....
Definition blpapi_versionmacros.h:99
Definition blpapi_abstractsession.h:452
Definition blpapi_abstractsession.h:451