36#ifndef INCLUDED_BLPAPI_ABSTRACTSESSION
37#define INCLUDED_BLPAPI_ABSTRACTSESSION
86#include <blpapi_deprecate.h>
109void blpapi_UserHandle_release(blpapi_UserHandle_t *handle);
112int blpapi_UserHandle_addRef(blpapi_UserHandle_t *handle);
115int blpapi_UserHandle_hasEntitlements(
const blpapi_UserHandle_t *handle,
116 const blpapi_Service_t *service,
117 const blpapi_Element_t *eidElement,
118 const int *entitlementIds,
119 size_t numEntitlements,
120 int *failedEntitlements,
121 int *failedEntitlementsCount);
124int blpapi_AbstractSession_cancel(blpapi_AbstractSession_t *session,
125 const blpapi_CorrelationId_t *correlationIds,
126 size_t numCorrelationIds,
127 const char *requestLabel,
128 int requestLabelLen);
131int blpapi_AbstractSession_sendAuthorizationRequest(
132 blpapi_AbstractSession_t *session,
133 const blpapi_Request_t *request,
134 blpapi_Identity_t *identity,
135 blpapi_CorrelationId_t *correlationId,
136 blpapi_EventQueue_t *eventQueue,
137 const char *requestLabel,
138 int requestLabelLen);
141int blpapi_AbstractSession_openService(
142 blpapi_AbstractSession_t *session,
const char *serviceIdentifier);
145int blpapi_AbstractSession_openServiceAsync(blpapi_AbstractSession_t *session,
146 const char *serviceIdentifier,
147 blpapi_CorrelationId_t *correlationId);
150int blpapi_AbstractSession_generateToken(blpapi_AbstractSession_t *session,
151 blpapi_CorrelationId_t *correlationId,
152 blpapi_EventQueue_t *eventQueue);
155int blpapi_AbstractSession_generateManualToken(
156 blpapi_AbstractSession_t *session,
157 blpapi_CorrelationId_t *correlationId,
159 const char *manualIp,
160 blpapi_EventQueue_t *eventQueue);
163int blpapi_AbstractSession_getService(blpapi_AbstractSession_t *session,
164 blpapi_Service_t **service,
165 const char *serviceIdentifier);
168blpapi_Identity_t *blpapi_AbstractSession_createIdentity(
169 blpapi_AbstractSession_t *session);
172int blpapi_AbstractSession_generateAuthorizedIdentityAsync(
173 blpapi_AbstractSession_t *session,
174 const blpapi_AuthOptions_t *authOptions,
175 blpapi_CorrelationId_t *cid);
178int blpapi_AbstractSession_getAuthorizedIdentity(
179 blpapi_AbstractSession_t *session,
180 const blpapi_CorrelationId_t *cid,
181 blpapi_Identity_t **identity);
184int blpapi_AbstractSession_sessionName(blpapi_AbstractSession_t *session,
185 const char **sessionName,
189int blpapi_UserAgentInfo_setUserTaskName(
const char *userTaskName);
192int blpapi_UserAgentInfo_setNativeSdkLanguageAndVersion(
193 const char *language,
const char *version);
277class AbstractSession {
279 blpapi_AbstractSession_t *d_handle_p;
283 AbstractSession(
const AbstractSession&);
284 AbstractSession& operator=(
const AbstractSession&);
293 void initAbstractSessionHandle(blpapi_AbstractSession_t *handle);
378 virtual bool openService(
const char *serviceIdentifier);
415 const Request& authorizationRequest,
465 virtual void cancel(
const std::vector<CorrelationId>& correlationIds);
487 const CorrelationId *correlationIds,
size_t numCorrelationIds);
524 const char *ipAddress,
595 blpapi_AbstractSession_t *abstractSessionHandle()
const;
602 BLPAPI_DEPRECATE_ABSTRACT_SESSION_CREATE_USER_HANDLE
UserHandle
623inline AbstractSession::AbstractSession()
627 BLPAPI_CALL(blpapi_UserAgentInfo_setNativeSdkLanguageAndVersion)
628 (
"C++", BLPAPI_SDK_VERSION_STRING);
633inline void AbstractSession::initAbstractSessionHandle(
634 blpapi_AbstractSession_t *handle)
641 blpapi_Service_t *service;
643 d_handle_p, &service, serviceIdentifier));
648 const Request& authorizationRequest,
658 blpapi_AbstractSession_sendAuthorizationRequest(d_handle_p,
659 authorizationRequest.
handle(),
661 const_cast<blpapi_CorrelationId_t *
>(
662 &retCorrelationId.impl()),
663 eventQueue ? eventQueue->
handle() : 0,
667 return retCorrelationId;
672 blpapi_AbstractSession_cancel(d_handle_p, &correlationId.impl(), 1, 0, 0);
676 const std::vector<CorrelationId>& correlationIds)
678 if (!correlationIds.size()) {
681 cancel(&correlationIds[0], correlationIds.size());
685 const CorrelationId *correlationIds,
size_t numCorrelationIds)
687 blpapi_AbstractSession_cancel(d_handle_p,
688 reinterpret_cast<const blpapi_CorrelationId_t *
>(correlationIds),
700 blpapi_AbstractSession_generateToken(d_handle_p,
701 &retCorrelationId.impl(),
702 eventQueue ? eventQueue->
handle() : 0));
704 return retCorrelationId;
708 const char *ipAddress,
715 BLPAPI_CALL(blpapi_AbstractSession_generateManualToken)(d_handle_p,
716 &retCorrelationId.impl(),
719 eventQueue ? eventQueue->
handle() : 0));
721 return retCorrelationId;
726 return blpapi_AbstractSession_openService(d_handle_p, serviceIdentifier)
732 const char *serviceIdentifier,
const CorrelationId& correlationId)
734 blpapi_CorrelationId_t retv = correlationId.impl();
736 d_handle_p, serviceIdentifier, &retv));
743 return UserHandle(blpapi_AbstractSession_createIdentity(d_handle_p));
748 return Identity(blpapi_AbstractSession_createIdentity(d_handle_p));
754 blpapi_CorrelationId_t cidHandle = cid.impl();
757 blpapi_AbstractSession_generateAuthorizedIdentityAsync)(
758 d_handle_p, authOptions.
handle(), &cidHandle));
766 blpapi_Identity_t *identity = NULL;
769 BLPAPI_CALL(blpapi_AbstractSession_getAuthorizedIdentity)(
770 d_handle_p, &correlationId.impl(), &identity));
786inline blpapi_AbstractSession_t *AbstractSession::abstractSessionHandle()
const
Provides configuration settings for authorization.
Provide functions for dispatchtbl.
#define BLPAPI_CALL(FUNCNAME)
Definition blpapi_call.h:361
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:724
virtual CorrelationId generateToken(const CorrelationId &correlationId=CorrelationId(), EventQueue *eventQueue=0)
Definition blpapi_abstractsession.h:694
std::string sessionName()
Definition blpapi_abstractsession.h:775
virtual Event nextEvent(int timeout=0)=0
UserHandle createUserHandle()
Definition blpapi_abstractsession.h:741
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:647
virtual void stopAsync()=0
Identity getAuthorizedIdentity(const CorrelationId &correlationId=CorrelationId())
Definition blpapi_abstractsession.h:763
virtual CorrelationId openServiceAsync(const char *serviceIdentifier, const CorrelationId &correlationId=CorrelationId())
Definition blpapi_abstractsession.h:731
CorrelationId generateAuthorizedIdentity(const AuthOptions &authOptions, const CorrelationId &cid=CorrelationId())
Definition blpapi_abstractsession.h:751
virtual Identity createIdentity()
Definition blpapi_abstractsession.h:746
virtual void cancel(const CorrelationId &correlationId)
Definition blpapi_abstractsession.h:670
virtual ~AbstractSession()
Definition blpapi_abstractsession.h:631
virtual Service getService(const char *serviceIdentifier) const
Definition blpapi_abstractsession.h:639
Definition blpapi_authoptions.h:210
blpapi_AuthOptions_t * handle() const
Definition blpapi_authoptions.h:507
Definition blpapi_correlationid.h:225
Definition blpapi_event.h:402
blpapi_EventQueue_t * handle() const
Definition blpapi_event.h:602
Definition blpapi_event.h:212
static void throwOnError(int errorCode)
Definition blpapi_exception.h:541
Definition blpapi_identity.h:147
blpapi_Identity_t * handle() const
Definition blpapi_identity.h:396
Definition blpapi_request.h:163
blpapi_Request_t * handle() const
Definition blpapi_request.h:763
Definition blpapi_service.h:320
Identity UserHandle
Definition blpapi_abstractsession.h:214
Definition blpapi_abstractsession.h:212
Definition blpapi_abstractsession.h:211